1
我有一个SQL过程,它应执行FOR-IN(SELECT ..)循环,其中SELECT内容应根据某些输入参数。我的想法是将SELECT字符串存储到一个变量中,然后尝试在FOR-IN循环中提取变量值,但目前为止没有成功(以前有一个修复的SELECT语句用于那里,这就是我现在要替换的)。代码看起来大致如下在SQL FOR-IN(SELECT)循环中使用字符串变量的值循环
PROCEDURE run(p_boolean BOOLEAN)
IS
BEGIN
DECLARE
v_mystring VARCHAR(50);
BEGIN
IF p_boolean = TRUE
THEN
v_mystring := 'SELECT something...';
ELSE
v_mystring := 'SELECT something else...';
END IF;
FOR p_table_name IN (would-like-to-use-the-value-of-v_mystring-here-some-way)
LOOP
...
END LOOP;
END;
END;
作为在SQL相当新手,很可能发生的试图在这里使用一个字符串变量值的整个概念是错误的。我浏览了一些教程并尝试了一些其他想法(例如游标),但没有结果。任何想法表示赞赏
该平台是Oracle。 FOR循环基本上除了使用p_table_name.table_name进行日志打印外没有其他任何操作 – hammerfest