Oracle使用游标放回结果集出现怪异问题
表结构:
id name remark
---------------------
a ha 标记
a wo null
a me null
d co null
--------------------
存储过程:
create or replace procedure Get
(
Ids IN VARCHAR2,
Out_Cursor OUT sys_refcursor
)
as
begin
open Out_Cursor FOR
select * from table where id=ids;
end;
------------------------------------
测试结果:ids-〉a
id name remark
---------------------
a ha 标记
a wo null
a me null
d co null
-------------------
为什么会出现这样的结果呢?明明参数传人的是a却把id为d的也查出来了,请问这是怎么回事?
------解决方案--------------------
实测数据:
SQL code
CREATE TABLE T192
(
ID VARCHAR2(20),
NAME VARCHAR2(20),
remark VARCHAR2(20)
);
INSERT INTO T192 VALUES('a', 'ha', '标记');
INSERT INTO T192 VALUES('a', 'wo', NULL);
INSERT INTO T192 VALUES('a', 'me', NULL);
INSERT INTO T192 VALUES('d', 'co', NULL);
COMMIT;