我将如何存储select语句的结果,以便我可以将结果重用到不同的表中?这也将在光标内。我将如何存储select语句的结果,以便可以将结果重用到不同的表中?
下面是一些伪代码,在这个例子中,我保持Select语句简单,但在现实生活中,它是一个长连接多个连接的查询,我必须使用相同的SQL连接两个不同的表,很长,可以在将来改变,因此我希望能够重用它。
我试图创建一个视图,并在其中存储选择语句的结果,但它似乎我不能创建一个视图内游标循环,当我尝试我遇到“遇到符号”CREATE“”错误。从查询结果保存
DECLARE TYPE cur_type IS REF CURSOR;
CURSOR PT_Cursor IS
SELECT * FROM Table1
PT_Cursor_Row PT_Cursor%ROWTYPE;
BEGIN
OPEN PT_Cursor;
LOOP
FETCH PT_Cursor INTO PT_Cursor_Row;
EXIT WHEN PT_Cursor%NOTFOUND;
Select ID From Table2 --this is actually a long complext query
INNER JOIN Table3 ON Table2.ID = Table3.ID
WHERE Table2.ID = PT_Cursor_Row.ID
Select * From Table2 --this is actually a long complext query
LEFT JOIN Table4 ON Table2.ID = Table4.ID
WHERE Table2.ID = PT_Cursor_Row.ID
END LOOP;
CLOSE PT_Cursor;
END;
为什么你想要/打算使用游标? –
因为我们需要为表格的每一行执行相同的过程。 – 03Usr
这个过程是发生在数据库内部还是外部?数据库中的 –