开发者们,
我已经搜索了各个地方,但是我找不到解决这个简单问题的方法。
情况:
我需要编写一个过程,它以列名作为输入并返回该列中所有不同值作为输出。然后我需要在一些C#代码中使用这个过程。
在MS服务器中,这非常简单,因为它会直接给出结果集,而在PL/SQL中则不同。
我写的脚本(没有给我需要的结果):
CREATE OR REPLACE
PROCEDURE GetCol(PARAM IN STRING, recordset OUT sys_refcursor)
AS
BEGIN
OPEN recordset FOR
SELECT DISTINCT(PARAM)
FROM my_table;
END
当我尝试使用以下代码检查记录集中的数据时:
DECLARE
l_cursor SYS_REFCURSOR;
l_sname VARCHAR2(50);
BEGIN
GetCol('col_name',l_cursor);
LOOP
FETCH l_cursor INTO l_sname;
EXIT WHEN l_cursor%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(l_sname);
END LOOP;
CLOSE
请问有人能帮我解决这段代码吗?