【发布时间】:2019-06-05 23:23:20
【问题描述】:
我正在使用 Oracle 11g,并且我有一个存储过程,可以选择一些数据并将其放入要返回的游标中。我需要将该游标中的数据插入到临时表中,但我不知道如何。希望你能帮助我。
这是我尝试过的方式(它在 SQL Server 中的工作原理):
INSERT INTO tt_IDIOMALISTAS(Idtt, CampoOriginal, CampoModificado, Estado) VALUES sp_SearchSelect(v_CY,v_Idioma,v_SubModule);
这是 SP 内的光标:
open v_refcur for SELECT
SPD.Id_CombosPorDefecto, SPD.vrc_NombreCombos1, S.vrc_Idioma1, S.vrc_Idioma2, S.vrc_Idioma3
FROM tbl_Adm_CombosPorDefecto SPD
LEFT JOIN tbl_Adm_Combos S
ON SPD.Id_CombosPorDefecto = S.int_IdComboPorDefecto
WHERE SPD.int_IdSubModulo = v_SubModule
AND SPD.FK_CY = v_CY;
【问题讨论】:
-
为什么不干脆做
insert into yourtable(columns) select columns from tablename? -
一开始就使用光标是一个糟糕的选择。对于 Oracle 和 SQL Server。