【发布时间】:2016-09-15 15:53:44
【问题描述】:
我正在寻找类似于 oracle 中的 bash for 循环的东西
for i in 1 5 3 8; do echo "print $i"; done
所以这将导致
print 1
print 5
print 3
print 8
我想在 Oracle SQL 中使用类似的逻辑
for i in 1 5 3 8; do echo " select * from TABLE where column1='$i';"; done
所以这将导致
select * from TABLE where column1='1';
select * from TABLE where column1='5';
select * from TABLE where column1='3';
select * from TABLE where column1='8';
那么我如何在 Oracle SQL 中得到类似的逻辑
【问题讨论】:
-
您在寻找 SQL 还是 PL/SQL? SQL 没有循环。您可能只想要
where column1 in (1,5,3,8)。但这实际上取决于您要完成的工作——一个 SQL 语句不能运行 4 个单独的查询。它可以运行一个包含所有四组结果的查询。