私はあなたの助けが必要です.....関数の単一のパラメータに複数の値を渡すにはどうすればよいですか?
値「AAA 1」、「BBB 2」、「CCC 3」、「DDD 4」は、同じパラメーター「v_type」に渡されます。値は、フロント エンド画面のドロップダウンからの選択に基づいて送信されます。 . ユーザーはリストから 1 つ以上の値を選択できます。これらの値はプロシージャに渡され、プロシージャ内の SELECT ステートメントの WHERE 句に渡されます。
私の機能は次のようなものです:
例
CREATE OR REPLACE FUNCTION FN_GET_ROWS
(v_date_ini IN DATE,
v_date_end IN DATE,
v_type IN VARCHAR2
)
RETURN TEST_TABTYPE
AS
V_Test_Tabtype Test_TabType;
BEGIN
SELECT TEST_OBJ_TYPE(DATE, NAME, ALERT)
BULK COLLECT INTO V_Test_TabType
FROM (select date, name, alert
from Table
where DATE BETWEEN v_date_ini AND v_date_end
AND Alert in (select REGEXP_SUBSTR (v_type, '[^,]+', 1, level)
from dual
connect by level <= length(regexp_replace(v_type,'[^,]*'))+1)
);
RETURN V_Test_TabType;
END;
インターネットを検索すると、おそらく Varray が機能することがわかりましたが、ユーザーが画面で選択したパラメーターを使用して変数 :type に割り当てる方法がわかりません。
このタイプをデータベースに作成しましたが、どのように使用できますか? 私はplsqlの初心者です。
CREATE TYPE alert_obj AS OBJECT (type_alert VARCHAR2(60));
CREATE TYPE alert_varray_typ AS VARRAY(100) OF alert_obj;
ご協力いただきありがとうございます
エマニュエル。