Em algumas implementações, temos a necessidade de executar queries que podem receber ou não determinados parâmetros. Estas interações podem variar de acordo com a necessidade do usuário.
Podemos atender estas demandas utilizando a função EXEC, para executar sql dinâmico.
Vejamos um exemplo:
Primeiro, vamos criar uma tabela temporária com algumas informações:
CREATE TABLE #temp (
Id INT IDENTITY(1,1),
Nome VARCHAR(10)
)
INSERT #temp (Nome)
VALUES ('Rodrigo')
INSERT #temp (Nome)
VALUES ('Rafael')
INSERT #temp (Nome)
VALUES ('Wanderley')
INSERT #temp (Nome)
VALUES ('Daniel')
INSERT #temp (Nome)
VALUES ('Evelise')
INSERT #temp (Nome)
VALUES ('Luisa')
INSERT #temp (Nome)
VALUES ('Carolina')
INSERT #temp (Nome)
VALUES ('Amanda')
INSERT #temp (Nome)
VALUES ('Marley')
Agora vamos criar duas variáveis, que receberão o sql dinâmico:
DECLARE @SQL VARCHAR(100)
DECLARE @NOME VARCHAR(50)
SET @NOME = 'Rodri'
SET @SQL = 'SELECT * FROM #TEMP WHERE NOME LIKE ''%'+@NOME+'%'' '
EXEC(@SQL)
DROP TABLE #TEMP
Com as estruturas de controle do Sql Server, podemos verificar se os parâmetros foram preenchidos e compor o sql de maneira dinâmica .
Até a próxima!
domingo, 17 de maio de 2009
Implementando SQL Dinâmico no Microsoft Sql Server
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário
Leave your comment here!