tema enviado por tiqui_loquito en ORACLE
tema iniciado el 21/05/2009
TENGO ESTE PAQUETE Q CREA UN PROCEDIMEITNO Q INSERTA UN NUEVO PEDIDO EN LA TABLA ORD.
PRO NO SE PQ ME DICE Q TENGO UN ERROS AL LLAMAR EL PROCEDIMIENTO DESDE EL BLOQUE ANONIMO...AYUDA PLIS
SET SERVEROUTPUT ON
SET VERIFY OFF
SELECT * FROM ORD;
CREATE OR REPLACE PACKAGE paqOrdenes
IS
V_PRODID NUMBER:=0;
V_DESCRIP VARCHAR(30);
V_ORDID ORD.ORDID%TYPE;
V_ORDERDATE ORD.ORDERDATE%TYPE;
V_COMMPLAN ORD.COMMPLAN%TYPE;
V_CUSTID ORD.CUSTID%TYPE;
V_SHIPDATE ORD.SHIPDATE%TYPE;
V_TOTAL ORD.TOTAL%TYPE;
v_contador NUMBER(1);
PROCEDURE Nueva_Orden(ORDID NUMBER, ORDERDATE DATE, COMMPLAN VARCHAR2, CUSTID NUMBER, SHIPDATE DATE, TOTAL NUMBER);
END paqOrdenes;
/
CREATE OR REPLACE PACKAGE BODY paqOrdenes IS
PROCEDURE Nueva_Orden(ORDID NUMBER, ORDERDATE DATE, COMMPLAN VARCHAR2, CUSTID NUMBER, SHIPDATE DATE, TOTAL NUMBER)
IS
BEGIN
-- INSERT INTO ORD VALUES (V_ORDID,V_ORDERDATE,V_COMMPLAN,V_CUSTID, V_SHIPDATE,V_TOTAL);
--SELECT ORDID, ORDERDATE, COMMPLAN, CUSTID, SHIPDATE, TOTAL
-- INTO V_ORDID,V_ORDERDATE,V_COMMPLAN,V_CUSTID, V_SHIPDATE,V_TOTAL
-- FROM ORD
-- WHERE ORDID = V_ORDID;
SELECT COUNT(*)
INTO v_contador
FROM ord
WHERE ordid = v_ordid;
IF v_contador = 0 THEN
INSERT INTO ORD VALUES(V_ORDID,V_ORDERDATE,V_COMMPLAN,V_CUSTID, V_SHIPDATE,V_TOTAL);
END IF;
END Nueva_Orden;
END paqOrdenes;
/
DECLARE
V_ORDID NUMBER(4):=&Id_Orden;
V_ORDERDATE DATE:='&Fec_Orden';
V_COMMPLAN VARCHAR(1):='&Tipo_plan';
V_CUSTID NUMBER(6):=&Cod_Vendedor;
V_SHIPDATE DATE:='&Fec_entrega';
V_TOTAL NUMBER(8,2):=&Total;
--PROCEDURE --Nueva_Orden(V_ORDID,V_ORDERDATE,V_COMMPLAN,V_CUSTID,V_SHIPDATE, --V_TOTAL);
BEGIN
Nueva_Orden(V_ORDID => V_ORDID, V_ORDERDATE => V_ORDERDATE, V_COMMPLAN => V_COMMPLAN, V_CUSTID => V_CUSTID, V_SHIPDATE => V_SHIPDATE, V_TOTAL=> V_TOTAL);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('REGISTRO NO ENCONTRADO');
END;
/