读书人

oracle中的select into语句的动态查询

发布时间: 2012-02-17 17:50:42 作者: rapoo

oracle中的select into语句的动态查询
具体的意思是这样的:
CREATE OR REPLACE FUNCTION testExecute RETURN NUMBER IS
tmpVar NUMBER;
sqltemp varchar2(200);

BEGIN
tmpVar := 0;

sqltemp := 'select count(*) into tmpVar from gg_book ';

--execute immediate sqltemp;

select count(*) into tmpVar from gg_book;


RETURN tmpVar;

END testExecute;

我使用--execute immediate sqltemp;就提示错误,请那位大哥给点提示,谢谢了!

[解决办法]
execute immediate 主要用来执行DDL,函数中不能使用DDL。
查询时直接执行select into即可,不要用execute immediate。
[解决办法]
execute immediate
用来执行单行操作。select into属于当行操作时可行的!
[解决办法]
sqltemp := 'select count(*) from gg_book ';

execute immediate sqltemp into tmpVar; --应该这样使用

读书人网 >oracle

热点推荐