-1

私は空のテーブルを持っています。

私が実行すると

select count(*) from table;

0 を返します。

ただし、PL/SQL では、Sql*Plus

declare
   c number;
begin
   select count(*) into c from table;
   dbms_output.put_line(c);
end;

572 を返します。

どうしたの?

-----------------------------------------------解決済み------- ---------------------------

だから私はしなければならなかった

delete from table;

Toad ではなく、Sql*Plus で。

ただし、両方でコミットを実行しました..

4

3 に答える 3

1

トランザクションをコミットまたはロールバックします。テーブルを扱っていたようです。コミット/ロールバックなし 異なるセッションでは、異なる結果が得られます。

于 2013-07-16T08:14:40.730 に答える
0

SQL テーブルに行が含まれていますか? SQL select の構文は正しいようです。「テーブル」は次のようなテーブル名になると思います:tblProducts? "Table" は MS SQL で予約済みのキーワークです

于 2013-07-16T08:11:47.427 に答える
-1

つまり、使用してみてください:

DECLARE
   c NUMBER(10) := 0;

その後:

SELECT COUNT(1) INTO c FROM table;
于 2013-07-16T08:12:12.247 に答える