開発者、
できる限り検索しましたが、この単純な問題の解決策が見つかりませんでした。
状況:
入力として列名を取り、その列に存在するすべての個別の値を出力として返すプロシージャを作成する必要があります。そして、いくつかの 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
誰かがこのコードを手伝ってくれませんか。