我有一张空桌子。
如果我执行
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。
发生了什么事?
------------------------------------------ SOLVED- ---------------------------------
所以我必须这样做
delete from table;
在Sql * Plus中,而不是在Toad中。
但是,我在两个都运行了提交..
答案 0 :(得分:1)
提交或回滚交易。看来你一直在使用这张桌子。没有提交/回滚在不同的会话中,您将得到不同的结果。
答案 1 :(得分:0)
你确定SQL表中有行吗? SQL select的语法看起来正确。我想“table”将是你的表名:tblProducts? “表”是MS SQL中的保留键功能
答案 2 :(得分:-1)
尝试使用ie。:
DECLARE
c NUMBER(10) := 0;
然后:
SELECT COUNT(1) INTO c FROM table;