Problems to invoke / insert data with the procedure

0

I created this procedure in Oracle, but I am not able to insert data with EXEC .

How I'm Declaring EXEC:

EXECUTE SP_PRODUTO(8,'teste' 1);

erro APRESENTADO:
ORA-06550: linha 1, coluna 126:
PLS-00306: número incorreto de tipos de argumentos na chamada para 'SP_PRODUTO'
ORA-06550: linha 1, coluna 126:
PL/SQL: Statement ignored



CREATE OR REPLACE PROCEDURE SP_PRODUTO(
vIDPRODUTO  NUMBER,
vDESCRICAO VARCHAR2,
vQUANTIDADE NUMBER,
vOPR CHAR)
IS vEXCEPTION EXCEPTION;
BEGIN
    IF(vOPR = 'I')THEN --ação de inserir
        INSERT INTO PRODUTO(IDPRODUTO, DESCRICAO, QUANTIDADE) VALUES(vIDPRODUTO, vDESCRICAO, vQUANTIDADE);
    ELSE
    IF(vOPR = 'A')THEN --ação de alterar
        UPDATE PRODUTO SET DESCRICAO = vDESCRICAO, QUANTIDADE = vQUANTIDADE, IDPRODUTO = vIDPRODUTO;
    ELSE
    IF(vOPR = 'D')THEN --ação de excluir
        DELETE FROM PRODUTO WHERE IDPRODUTO =vIDPRODUTO;
    ELSE
    RAISE vEXCEPTION;
    END IF;
    END IF;
    END IF;
    EXCEPTION
        WHEN vEXCEPTION THEN
        RAISE_APPLICATION_ERROR(-20999,'ATENÇÃO! Operação diferente de I, D, A.', FALSE);
END  SP_PRODUTO;
    
asked by anonymous 27.09.2018 / 04:11

1 answer

1

The answer is in the error message, there are insufficient parameters in the call, its function has 4 parameters and you are calling it with 3, the vOPR is missing.

    
27.09.2018 / 13:07