在存储过程中,是否可能像这样嵌入SQL查询:
Select id, val from prmtable where id in ('app','config');
这个参数列表是否可以在运行时由用户任意初始化为任意数量的字符串值(包括数字和字符串的值)?如果可以,那么如何进行?
在存储过程中,是否可能像这样嵌入SQL查询:
Select id, val from prmtable where id in ('app','config');
这个参数列表是否可以在运行时由用户任意初始化为任意数量的字符串值(包括数字和字符串的值)?如果可以,那么如何进行?
CREATE TYPE my_type AS TABLE OF VARCHAR2(128);
CREATE OR REPLACE PROCEDURE my_procedure( vals IN my_type ) AS
BEGIN
FOR c IN (
SELECT dummy
FROM dual
WHERE dummy IN ( SELECT column_value FROM TABLE( vals ) )
) LOOP
dbms_output.put_line( c.dummy );
END LOOP;
END my_procedure;
EXEC my_procedure( NEW my_type( 'X', 'Y' ) );