Senhores, recorro a ajuda de vocês pois venho do banco de dados Oracle e tenho encontrado certa dificuldade para trabalhar com o SQL Server 2012, mais especificamente com a linguagem Transact-SQL. Pelo o que eu tenho percebido, não se trata de uma linguagem fortemente tipada em relação ao gerenciamento de escopo de variáveis. Exemplo, como as variavéis de cursores, que caso a primeira interação atribua valores válidos para as variáveis e caso na segunda volta do looping seja retornado nulo é mantido o valor da primeira interação. Outra coisa que eu estou tentando entender é o fato da seguinte query dentro de um bloco não retornar resultado dinamincamente na execução:
SELECT @IDSALAMODELO = SM.ID
,@NOMEGRUPO = G.NOME
FROM CRT C
,GRUPO G
,SALAMODELO SM
,EMPRESA E
WHERE C.IDGRUPO = G.ID
AND G.IDSALAMODELO = SM.ID
AND SM.IDEMPRESA = E.ID
--
AND C.ID = CAST(@CRT AS INT)
AND C.ATIVO = @ATIVO
AND G.ATIVO = @ATIVO
AND G.IDINTAKE = @INTAKEATUAL
AND E.ID = @IDEMPRESA
E quando a executo numa janela de consulta com os parametros hardcode ela me retorna resultado. Não estou limpando elas em momento algum e já tentei deixar os valores hardcode dentro do bloco, mas ainda assim, o resultado permance o mesmo, ou seja, não me retorna resultado.
Por isso, se possível, gostaria da opinião de vocês para que eu posso solucionar esse problema.
Pergunta
rdavisp
Senhores, recorro a ajuda de vocês pois venho do banco de dados Oracle e tenho encontrado certa dificuldade para trabalhar com o SQL Server 2012, mais especificamente com a linguagem Transact-SQL. Pelo o que eu tenho percebido, não se trata de uma linguagem fortemente tipada em relação ao gerenciamento de escopo de variáveis. Exemplo, como as variavéis de cursores, que caso a primeira interação atribua valores válidos para as variáveis e caso na segunda volta do looping seja retornado nulo é mantido o valor da primeira interação. Outra coisa que eu estou tentando entender é o fato da seguinte query dentro de um bloco não retornar resultado dinamincamente na execução:
SELECT @IDSALAMODELO = SM.ID
,@NOMEGRUPO = G.NOME
FROM CRT C
,GRUPO G
,SALAMODELO SM
,EMPRESA E
WHERE C.IDGRUPO = G.ID
AND G.IDSALAMODELO = SM.ID
AND SM.IDEMPRESA = E.ID
--
AND C.ID = CAST(@CRT AS INT)
AND C.ATIVO = @ATIVO
AND G.ATIVO = @ATIVO
AND G.IDINTAKE = @INTAKEATUAL
AND E.ID = @IDEMPRESA
E quando a executo numa janela de consulta com os parametros hardcode ela me retorna resultado. Não estou limpando elas em momento algum e já tentei deixar os valores hardcode dentro do bloco, mas ainda assim, o resultado permance o mesmo, ou seja, não me retorna resultado.
Por isso, se possível, gostaria da opinião de vocês para que eu posso solucionar esse problema.
Grato.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.