DECLARE
rec_count integer default 0;
str varchar(100);
BEGIN
str := 'select count(*) into ' || rec_count ||' from emp_table';
EXECUTE IMMEDIATE (str);
dbms_output.put_line(rec_count);
END;
我无法获取rec_count valibale 中的计数。我收到 ORA-00905 消息。
我必须在我的脚本中添加这些行,所以 sql 语句应该像这样。 我会将行程名称传递给此脚本,它将返回该表的计数。
提前致谢。
最佳答案
你必须像下面这样使用
DECLARE
rec_count integer default 0;
str varchar(100);
BEGIN
str := 'select count(*) from emp_table';
EXECUTE IMMEDIATE str into rec_count;
dbms_output.put_line(rec_count);
END;
into
子句必须在立即执行
之后使用。引用这里http://docs.oracle.com/cd/B12037_01/appdev.101/b10807/13_elems017.htm了解更多信息
关于oracle - PL/SQL 中无法选择 count(*),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27939158/