Declarar Parametros: SQL Server

Neste artigo vamos ver ao invés de testar nossas querys, escrevendo toda hora e em todo lugar o valor dos parâmetros que queremos colocar, vamos ver como criar estes parâmetros

Olá galera, nesta Quick Tips, irei mostra como podemos declarar parâmetros e atribuir valores a estes usando o SQL Server.

 

Neste artigo vamos ver ao invés de testar nossas querys, escrevendo toda hora e em todo lugar o valor dos parâmetros que queremos colocar, vamos ver como declarar estes parâmetros veja como é simples :

 

Declarando o Parâmetro:

Sintaxe : DECLARE [PARAMETRO] TYPE

Ex :    DECLARE @IDADE INTEGER;

DECLARE @NOME VARCHAR(100);

DECLARE @DATANASCIMENTO DATE;

 

Definindo valor para o parâmetro:

Sintaxe : SET [PARAMETRO] = [VALOR]

Ex:SET @IDADE = 23;

SET @NOME = WESLEY YAMAZACK;

SET @DATANASCIMENTO = ‘1987-05-10’;

Veja como funciona na prática:

 

 

DECLARE @DTFINAL DATE 

SET @DTFINAL = '2011-04-30'

SELECT VW.CodCliente, SUM(VW.QtdeDependentes) QtdeDependentes, SUM(VW.QtdeDepMaior13)QtdeDepMaior13 FROM (

 

   SELECT CD.CodCliente, Count(CD.CodCliente) QtdeDepMaior13,0 QtdeDependentes

FROM ClientesDepNET CD, ClientesNET c

WHERE C.CodCliente = CD.CodCliente

AND DATEDIFF (  DAY, CD.DataNasc, @DTFINAL ) > 10*365

GROUP BY CD.CodCliente

UNION ALL 

SELECT CD.CodCliente, 0, Count(CD.CodCliente)

FROM ClientesDepNET CD, ClientesNET c

WHERE C.CodCliente = CD.CodCliente

GROUP BY CD.CodCliente

) VW

GROUP BY VW.CodCliente

 HAVING SUM(VW.QtdeDependentes) = SUM(VW.QtdeDepMaior13)

 

Como podemos notar, a utilização do parâmetro, facilita na hora de montarmos ou testarmos nossos scrips, por exemplo veja o que aconteceria se não existisse o parametro

 

 

SELECT 'HOMENS', IDCLIENTE, NOME, IDADE, SEXO

  FROM CLIENTE

 WHERE SEXO = 'M'

   AND DATACADASTRO >= '2011-04-19'

 

UNION ALL

 

SELECT 'MULHERES', IDCLIENTE, NOME, IDADE, SEXO

  FROM CLIENTE

 WHERE SEXO = 'F'

   AND DATACADASTRO >= '2011-04-19'

 

Agora vamos supor que este valor '2011-04-19', tenha que ser mudado, vamos sair dando replace no script e alterar para o valor desejado, dando mais trabalho do que fazer simplesmente o seguinte :

 

 

DECLARE @DTCADASTRO DATE 

SET @DTCADASTRO = '2011-04-19'

 

SELECT 'HOMENS', IDCLIENTE, NOME, IDADE, SEXO

  FROM CLIENTE

 WHERE SEXO = 'M'

   AND DATACADASTRO >= @DTCADASTRO

 

UNION ALL

 

SELECT 'MULHERES', IDCLIENTE, NOME, IDADE, SEXO

  FROM CLIENTE

 WHERE SEXO = 'F'

   AND DATACADASTRO >= @DTCADASTRO

 

 

Obs : Para declarar vários parâmetros na mesma Query, não precisa colocar “,” ou “;”, veja como seria a declaração de mais de um parâmetro na mesma Query

 

Ex :    DECLARE @IDADE INTEGER

DECLARE @NOME VARCHAR(100)

DECLARE @DATANASCIMENTO DATE

SET @IDADE = 23

SET @NOME = WESLEY YAMAZACK

SET @DATANASCIMENTO = ‘1987-05-10’

 

 

Fico por aqui ate à próxima Quick Tips.

 

Um abraço

 

 

Wesley Y

wyamazack@lithic.com.br

 

Artigos relacionados