0
以下函數有什麼問題?動態使用select into語句
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;