【发布时间】:2016-01-06 09:31:08
【问题描述】:
下面的函数有什么问题?
create or replace function getNameById(myId in number) return number
is
query varchar2(500);
myName varchar2(20);
begin
query :='SELECT users_name INTO :myname FROM USERS_TABLE WHERE USERS_ID = :myid';
execute
immediate query
USING out myName, myId;
dbms_output.put_line(myName);
return(myName);
end getNameById;
如果我使用的不是查询:
SELECT users_name INTO myName FROM USERS_TABLE WHERE USERS_ID = 81;
但是执行成功了
问题是当我添加“ INTO :myname ”时,我在执行时遇到错误..
做动态sql的时候不能用INTO吗?
编辑:已解决!
create or replace function getNameById(myId in number) return varchar2
is
query varchar2(500);
myName users_table.users_name%type;
begin
query :='SELECT users_name FROM USERS_TABLE WHERE USERS_ID = :myid';
execute immediate query INTO myName USING myId;
dbms_output.put_line(myName);
return(myName);
end getNameById;
【问题讨论】:
标签: plsql