Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Adilson_Web_2007

[Resolvido] Erro ao chamar um procedure

Recommended Posts

OLá pessoal boa tarde!

 

Estou me deparando com um erro que não estou conseguindo resolver.

 

Criei um procedure onde um dos campos é uma sequence, não estou sabendo fazer o insert nela alguém pode me ajudar por favor?

 

 

Procedure

 

create or replace
PROCEDURE PROC_INS_RAMO_ATIVIDADE 
(
	   p_descricao_ramo   IN ramo_atividade.descricao_ramo% TYPE,
	   p_cod_atividade	OUT  INTEGER,
	   p_erro			 OUT VARCHAR2
)

AS
BEGIN
	  insert into ramo_atividade(descricao_ramo)values(p_descricao_ramo);
	  
	  
	  IF SQL%NOTFOUND THEN
		 p_erro:='NÃO FOI POSSÍVEL CADASTRAR.!';
		
		p_cod_atividade := 0;
	ELSE
		p_erro:='RAMO DE ATIVIDADE CADASTRADO COM SUCESSO.!';
		SELECT SEQ_COD_ATIVIDADE.CURRVAL
		  INTO p_cod_atividade
		  FROM DUAL;
	END IF;
	  
	  COMMIT WORK;
	  
EXCEPTION 

	  WHEN DUP_VAL_ON_INDEX THEN
	  p_erro:='NÃO FOI POSSÍVEL CADASTRAR.!';
	  
	  WHEN OTHERS THEN
	  p_erro:=SQLCODE||'  '||SQLERRM;
	  
END PROC_INS_RAMO_ATIVIDADE;

E para chamar eu estou usando o PL/SQL

 

Assim:

 

VARIABLE p_erro VARCHAR2(200)
EXECUTE PROC_INS_RAMO_ATIVIDADE('COMERCIAL',:p_erro);

Esse é o erro:

 

ERRO na linha 1:

ORA-06550: linha 1, coluna 7:

PLS-00306: número incorreto de tipos de argumentos na chamada para

'PROC_INS_RAMO_ATIVIDADE'

ORA-06550: linha 1, coluna 7:

PL/SQL: Statement ignored

Compartilhar este post


Link para o post
Compartilhar em outros sites

A SP pede 3 parametros

 

(

p_descricao_ramo IN ramo_atividade.descricao_ramo% TYPE,

p_cod_atividade OUT INTEGER,

p_erro OUT VARCHAR2

)

 

 

Foram passados 2

 

EXECUTE PROC_INS_RAMO_ATIVIDADE('COMERCIAL',:P_erro);

 

Solução : Criar um parametro para receber o parametro p_cod_atividade

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.