CREATE OR REPLACE PACKAGE pkg_tableType
IS
type Tabletype is ref cursor;
END;create or replace procedure GetObjectOfUser2(UserName in varchar2, dataset out pkg_tableType.Tabletype) is
begin
Open dataset For
select * from usertbl where username = UserName;
end GetObjectOfUser2;我的本意是要返回某个用户名的行,但是执行结果却是它返回了usertbl表中的所有行,为什么呢?
IS
type Tabletype is ref cursor;
END;create or replace procedure GetObjectOfUser2(UserName in varchar2, dataset out pkg_tableType.Tabletype) is
begin
Open dataset For
select * from usertbl where username = UserName;
end GetObjectOfUser2;我的本意是要返回某个用户名的行,但是执行结果却是它返回了usertbl表中的所有行,为什么呢?
create or replace procedure GetObjectOfUser2(User_Name in varchar2, dataset out pkg_tableType.Tabletype) is
begin
Open dataset For
select * from usertbl where username = User_Name;
end GetObjectOfUser2;很明显啊。。你的变量名字和的列名一样,username=username恒成立啊所以返回所有的值啊。
from usertbl where username = UserName;
begin
Open dataset For
select * from usertbl where username =v_UserName;
end GetObjectOfUser2;select * from tbname where col=col 这个条件永远是true 如同于select * from tbname