gpt4 book ai didi

oracle - Oracle PL/SQL 中的存储过程

转载 作者:行者123 更新时间:2023-12-01 10:07:23 25 4
gpt4 key购买 nike

是否可以将这样的 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' ) );

关于oracle - Oracle PL/SQL 中的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9083145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com