pl/sql - Using a dynamic query inside a stored procedure

后端 未结 3 1494
傲寒
傲寒 2020-12-18 11:31

I am using a stored procedure to insert data into a temp table using a cursor. This procedure stores a dynamic query inside a variable to mount the insert/update command.

3条回答
  •  南方客
    南方客 (楼主)
    2020-12-18 12:08

    I don't see any need to use dynamic SQL at all.

    Why not something like:

    FOR VC2 IN (SELECT C.OBJETIVO,
                    C.AUDITORIA ,
                    C.NOME, 
                    C.PRODUTO
               FROM CALCULO C) LOOP
    
        v_upd := 0;
    
        SELECT
            ID_TIPO_TERR
        into
            v_UPD
        FROM
            ZREPORTYTD_TMP 
        WHERE
            AUDITORIA = VC2.AUDITORIA
        AND TERRITORIO = VC2.NOME
        AND PRODUTO = VC2.PRODUTO;
    
        -- is v_upd used anywhere?
    
        UPDATE
            ZReportYTD_TMP
        SET
            TARGET = VC2.OBJETIVO
        WHERE
            AUDITORIA = VC2.AUDITORIA
        AND TERRITORIO = VC2.NOME
        AND PRODUTO = VC2.PRODUTO;
    
    END LOOP;
    

提交回复
热议问题