-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;

在 Sql*Plus 中,而不是在 Toad 中。

但是,我在他们两个中都运行了 commit ..

4

3 回答 3

1

提交或回滚事务。看来您一直在使用桌子。没有提交/回滚在不同的会话中你会有不同的结果。

于 2013-07-16T08:14:40.730 回答
0

您确定 SQL 表中有行吗?SQL 选择的语法看起来是正确的。我想“表”将是您的表名,例如:tblProducts?“表”是 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 回答