• 0
Sign in to follow this  
Ferretto

(Resolvido) Ajuda com Stored Procedures

Question

Pessoal é o seguinte, estou refazendo o sistema da minha empresa, pois estava impossível de trabalhar com ele, mas me deparei com um problema...

a linguagem que utilizo e o VB6 e SQL 2005...

no vb 6 eu posso chamar uma funcao passando os parametro ou não, mas para isso preciso crar uma função desse jeito:

Public Function Exemplo(optional variavel as string = "") as string
      'aqui eu escreveria o meu código
end function
estou precisando fazer isso em uma stored procedure, pois neste novo sistema precisarei passar mais um parametro para me trazer o retorno correto, mas no do sistema antigo, que ainda está sendo utilizado até eu entregar este novo sistema, não pode ter existir esta variável. se caso isso não for possível, então existe alguma maneira de colocar um if ou um case nesta stored procedure para que se ele passar os valores 1 ou 0 executasse uma clausula, se caso for outro falor não executaria esta clausula. Exemplo:
SELECT * FROM Clientes
where 1 = 1
if (@variavel = 1) OR (@variavel = 0)
   and codCliente = @variavel

Alquém tem alguma sugestão para me dar?

Edited by Ferretto

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Bom dia Ferretto,

Este procedimento é bem usual quando se desenvolve sistemas. Sempre irá se deparar com estes processos que necessitam de implementações deste tipo.

Igual ao VB6, o SQL consegue sim implementar valores default na assinatura das procedures. Basta na declaração da variável, você setar o valor default. Desta forma, não precisará alterar a sua asssinaturqa junto ao código do VB.

Caso passe o valor, a procedure a utilizará. Caso não passe, ela assumirá o valor default.

Segue um exemplo logo abaixo:

CREATE PROC TesteProc

 @valor INT, @variavel INT=0

 AS
  SELECT @valor, @variavel

 ------------------------------------------

 EXEC testeProc 10

 EXEC testeProc 10,5

Share this post


Link to post
Share on other sites
  • 0
Bom dia Ferretto,

Este procedimento é bem usual quando se desenvolve sistemas. Sempre irá se deparar com estes processos que necessitam de implementações deste tipo.

Igual ao VB6, o SQL consegue sim implementar valores default na assinatura das procedures. Basta na declaração da variável, você setar o valor default. Desta forma, não precisará alterar a sua asssinaturqa junto ao código do VB.

Caso passe o valor, a procedure a utilizará. Caso não passe, ela assumirá o valor default.

Segue um exemplo logo abaixo:

CREATE PROC TesteProc

 @valor INT, @variavel INT=0

 AS
  SELECT @valor, @variavel

 ------------------------------------------

 EXEC testeProc 10

 EXEC testeProc 10,5

Era exatamente isso que eu estava esperando... Muito obrigado Fulvio me ajudou muito

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
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  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.

Sign in to follow this