我有一个大型SQL脚本,它由与此类似的子查询块组成。
WITH get_some_data AS (
SELECT *
FROM table1
inner join table1.row2 r2 on table2.row2
)
然后在主要的'中调用该块。查询。
SELECT Row3
FROM get_some_data;
问题是我想将此代码转换为pl / sql,这样我就可以捕获该主查询,但这会导致子查询失败,因为它期望一个' SELECT INTO'而不只是一个选择。
我没有错过一些简单的步骤来强制查询在没有' INTO'条款对吗? 有什么方法可以简化将子查询块转换为pl / sql,如果不是这样的话?如果没有它们,查询运行速度会非常慢。
答案 0 :(得分:3)
我不确定你要求的是什么,但如果你想将CTE转换成PLSQL,下面就是一个例子
BEGIN
FOR i IN (WITH get_some_data
AS (SELECT row3
FROM table1
inner join table1.row2 r2
ON table2.row2)
SELECT row3
FROM get_some_data) LOOP
dbms_output.Put_line(i.row3);
END LOOP;
END;