首页 > 解决方案 > 如何在插入中输入此表中的数据?

问题描述

我是 pl / sql 的新手,我想在 insert 中输入这些数据,有人帮帮我吗?我不知道如何在不进行连接的情况下在插入中输入这些数据我找不到在插入中输入数据的方法

these     SELECT PORCENTAJE 
          FROM RANGO_SUBIDA_COMISION;





    VARIABLE B_ANIO NUMBER;

    EXECUTE :B_ANIO := 042018;

    DECLARE
    V_EMPLEADO_ID    EMPLEADOS.EMPLEADO_ID%TYPE;
    V_NOMBRE         EMPLEADOS.NOMBRE%TYPE;
    V_APELLIDO       EMPLEADOS.APELLIDO%TYPE;
    V_VALOR_COMISION COMISIONES.VALOR_COMISION%TYPE;
    V_SUELDO         EMPLEADOS.SUELDO%TYPE;

BEGIN

    FOR R IN

    (
    SELECT DISTINCT E.EMPLEADO_ID , E.NOMBRE , E.APELLIDO , C.VALOR_COMISION , E.SUELDO
    FROM EMPLEADOS E JOIN COMISIONES C
    ON (C.EMPLEADO_ID = E.EMPLEADO_ID)
    )
    LOOP

    V_EMPLEADO_ID      := R.EMPLEADO_ID;
    V_NOMBRE           := R.NOMBRE;
    V_APELLIDO         := R.APELLIDO;
    V_VALOR_COMISION   := R.VALOR_COMISION;
    V_SUELDO           := R.SUELDO;

    INSERT INTO INFORME_SUBIDA_COMISION 
    VALUES ( :B_ANIO ,V_EMPLEADO_ID , V_NOMBRE , V_APELLIDO , V_VALOR_COMISION , V_SUELDO  );

    END LOOP;
    END;

标签: sqloracleplsql

解决方案


我不太确定你的问题是什么。但我不明白您为什么要为此使用游标。为什么不直接执行这样的查询呢?

INSERT INTO INFORME_SUBIDA_COMISION (ANIO, EMPLEADO_ID, NOMBRE, APELLIDO, VALOR_COMISION, SUELDO)
SELECT DISTINCT :B_ANIO, E.EMPLEADO_ID, E.NOMBRE, E.APELLIDO, 
       C.VALOR_COMISION, E.SUELDO
    FROM EMPLEADOS E JOIN COMISIONES C
         ON C.EMPLEADO_ID = E.EMPLEADO_ID;

注意:我猜测列名是什么INFORME_SUBIDA_COMISION,但您应该明确列出它们。


推荐阅读