2つの表の間の列に一致する戻り値を返す関数を作成し、関数が結果を正しく返します。関数によって返されたOracleの列
select statmenetの列として関数の結果を書き込むにはどうすればいいですか?例えば
CREATE OR REPLACE FUNCTION GML.GML_GET_COLUMNS (P_PREFIX VARCHAR2)
RETURN VARCHAR2
IS
V_COLUMNS VARCHAR2 (1000);
CURSOR CUR_COLUMNS
IS
SELECT COLUMN_NAME
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'GML_SCENARIOS'
AND COLUMN_NAME IN
(SELECT COLUMN_NAME
FROM GML_FILE_COLUMNS
WHERE UPPER (ROW_PREFIX) NOT IN
('A', 'T', 'S', 'C', 'PH', 'AD')
AND UPPER (ROW_PREFIX) = P_PREFIX);
BEGIN
FOR I IN CUR_COLUMNS
LOOP
V_COLUMNS := V_COLUMNS || ',' || I.COLUMN_NAME;
END LOOP;
RETURN V_COLUMNS;
END;
:ここ
は私の関数のスクリプトで関数が返す場合:私はあなたがしたいと思いますselect ID,first_name,Last_name from gml_scenarios
推奨出力の例を期待通りに与えることはできますか? – 0xdb
例:関数の戻り値が次の結果を示す場合:ID、First_name、Last_name。どのように私はこのステートメント(select ID、first_name、Last_name gml_scenariosから)のような列として結果を使用することができますか? –
endステートメントの結果、 '' ID、first_name、last_name''か、 ' - 101、Jhon、Smith'のようなものですか? – 0xdb