具体的意思是这样的:
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;就提示错误,请那位大哥给点提示,谢谢了!
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;就提示错误,请那位大哥给点提示,谢谢了!
查询时直接执行select into即可,不要用execute immediate。
用来执行单行操作。select into属于当行操作时可行的!