从表中提取字符串以在查询中使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从表中提取字符串以在查询中使用相关的知识,希望对你有一定的参考价值。
我刚开始使用PL / SQL。我们将条件语句存储为一个表中的字符串(下面的表1),并希望根据另一个表中的公共变量(下面的表2)选择它们,如下所示:
表格1
ID Statement
1 Case when col_1 = a or (col_1 = x and col_2 = m) then b else c end as Col_3
2 Case when col_1 = p and col_2 = n then q else r end as Col_3
表2
Case_ID Col_1 Col_2
1 x y
1 a m
2 p n
决赛桌应该是这样的:
Col_1 Col_2 Col_3
x y c
a m b
p n q
答案
您可能想要使用动态SQL:
Begin
For v_rec In (SELECT t2.Col_1,
t2.Col_2,
t1.statement
FROM TABLE2 t2
INNER JOIN TABLE1 t1
ON t2.Case_ID = t1.ID)
Loop
Execute Immediate 'INSERT INTO FINAL_TABLE(Col_1, Col_2, Col_3) ' ||
'SELECT Col1, Col2, ' || v_rec.statement ||
' FROM ( SELECT :Col1 AS Col1, :Col2 AS Col2 FROM DUAL)'
Using v_rec.Col_1, v_rec.Col_2;
End Loop;
End;
以上是关于从表中提取字符串以在查询中使用的主要内容,如果未能解决你的问题,请参考以下文章