Jump to content
leoretorico

Procedure expects parameter which was not supplied

Recommended Posts

leoretorico

Tenho uma tabela

tblcademail id(int) , autorizacao(varchar) e preciso criar um procedimento armazenado que verifique se o campo"autorizacao" é "0" e se for, fazer um update para "1"

create procedure Autocheck
 ( @id   integer,
 @autorizacao  varchar(20))
 AS
 BEGIN

 set nocount on;
 BEGIN TRY
 select autorizacao  from Leoretorico.dbo.tblcademail where id=1
 if (@autorizacao=0)
 begin
  update Leoretorico.dbo.tblcademail set[autorizacao]='1' where [id]='1'
  end
  end try
  begin catch
  rollback tran
  select ERROR_MESSAGE() as retorno
  end catch
  end

Mas estou recebendo este erro Msg 201, Level 16, State 4, Procedure Autocheck, Line 0

Procedure or function 'Autocheck' expects parameter '@id', which was not supplied.

Edited by Rechousa

Share this post


Link to post
Share on other sites
Rechousa

Olá,

Vê o que o Jorge Paulino te escreveu, pois deverá ser essa a solução, já que é mesmo essa a mensagem de erro que estás a obter.

Contudo, reparei numas coisas no teu código que não percebi e que passo a explicar:

a) Estás a fazer um rollback, mas não tens um begin transaction (nem commit) - imagino que estejas a usar várias stored procedures encadeadas;

b) A tua SP recebe o parâmetro @autorizacao que é VARCHAR(20), mas mais à frente estás a comparar o seu valor como se fosse um inteiro - if (@autorizacao=0);

c) A tua linha de código serve para quê? Não fazes nada com ela, só fará sentido se estiveres a tratar esse valor na tua aplicação;

select autorizacao  from Leoretorico.dbo.tblcademail where id=1

Não quererás inicializar a variável @autorizacao com o retorno dessa query? Assim:

select @autorizacao = autorizacao  from Leoretorico.dbo.tblcademail where id=1;
-- ou
SET @autorizacao = (SELECT autorizacao  from Leoretorico.dbo.tblcademail where id=1);

Espero ter ajudado,


Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.