Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rdavisp

Escopo de Variavies - Query não retorna resultado

Recommended Posts

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 ja 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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por FabianoSouza
      Preciso corrigir o erro "Somente uma expressão pode ser especificada na lista de seleção quando a subconsulta não é introduzida com EXISTS." da minha consulta.
      SELECT TA.titulo AS 'Trilha' , (SELECT CAST(ROUND((Comportamental * 100.0) / (Comportamental + Técnico), 2) AS DECIMAL(5,1)) AS Comportamental ,CAST(ROUND((Técnico * 100.0) / (Comportamental + Técnico), 2) AS DECIMAL(5,1)) AS Técnico FROM ( SELECT SUM(CASE WHEN dbo.tabB.enfoque = '1' THEN 1 ELSE 0 END) AS Comportamental, SUM(CASE WHEN dbo.tabB.enfoque = '2' THEN 1 ELSE 0 END) AS Técnico, COUNT(*) AS Total FROM dbo.tabB ) tab ) FROM dbo.tabA AS TA Nessa consulta, preciso trazer o título (da tabA) e o resultado de um cálculo feito na subconsulta, nos campos Comportamental e Técnico.
    • Por JoãoNeto2
      Eu estava usando um programa em PHP que conectava e lia um banco de dados SQL Server. Do nada ele parou de funcionar apresentando a seguinte mensagem :
      O cliente não pode estabelecer conexão porque foi encontrado um erro durante os handshakes anteriores ao logon. As causas comuns incluem a tentativa do cliente de conectar-se a uma versão sem suporte do SQL Server, o servidor muito ocupado para aceitar novas conexões ou uma limitação de recursos (memória ou máximo de conexões permitidas) no servidor.
      Algumas informações para esclarecer :
      1-Consigo conectar o banco via Dbeaver da própria máquina que o programa PHP deixou de funcionar
      2-De outra máquina consigo conectar esse mesmo banco com o mesmo programa PHP
      3-Essa mesma máquina conecta outro banco SQL Server de outro cliente
      Ou seja, o mesmo programa conecta o mesmo banco mas de outra máquina e a mesma máquina consegue conectar outro banco SQL.
      O que pode ser?
    • Por Bruno_Sam
      Preciso buscar em todas as tabelas do banco um nome de cliente. Não sei quais tabelas contem o nome desse cliente e preciso pois esta errado o nome. Existe algum select que faça busca de um valor em todas as tabelas e fala quais estão???
       
      Obs:Não posso criar tabela temporaria no banco.
    • Por wellfc12
      Olá boa noite sou novo neste fórum, estou procurando ajuda pois não sei com eu poderia fazer. Estou modelando um banco de dados e agora cheguei a um ponto que não sei como fazer. 
      Preciso criar uma tabela que registre a movime tacacao de pessoas que iram passar na entrada da empresa, porém quando eu crio o relacionamento desta nova tabela com tabela pessoa para garantir integridade de quem é a pessoa que está entrando ou saída da empresa eu consigo, mas eu preciso também registrar o usuário (porteiro) que está registrando essa movimentação. A minha tabela de pessoas se relaciona com o usuário, pois uma pessoa cadastrada no sistema não necessariamente precisa ter um usuário, mas um usuário pra ter acesso ao sistema e necessário tar cadastrado na tabela pessoas. Quando vou relacionar na nova tabela que a pessoa quem passou é cod 2 exemplo eu preciso registrar qual é usuário quem registrou isso que poderia ser o cod 10 (cod o usuário, que do porteiro que tbm esta cadastrado no sistema) 
       
      Isso pode ser até uma coisa besta mas eu não sei como posso nesta ocasião. 
      Obrigado! 
       
      Anexo coloquei a imagem de uma modelagem que estou fazendo. 
       

    • Por Jhonatan de Souza
      Olá Pessoal meu nome é Jhonatan da Dev Aprender não quero que fiquemos para trás do pessoal da gringa, aqui no Brasil quero trazer também cursos de qualidade para a comunidade

      E por isso ontem lancei este : "Curso SQL Completo 2019 [Iniciantes] + Desafios e Muita Prática"
      Espero que ele possa ajudar o máximo de pessoas possível, se houver algum MOD que possa me ajudar caso não seja permitido postar este conteúdo aqui, eu posso remover, de qualquer forma bom aprendizado pessoal!

      https://www.youtube.com/watch?v=rX2I7OjLqWE

      Grade do Curso:
      00:00:00 - 00:00:36 - O que você irá aprender no curso
      Aula 00 - Instalando SQL Server e SSMS 00:00:36 - 00:05:34
      Aula 01 - Restaurando um banco de dados 05:40 - 12:30
      Aula 02 - Select + Desafios 00:12:30 - 00:18:59
      Aula 03 - Disctinct + Desafios 00:18:59- 00:34:02
      Aula 04 - Where + Desafios 00:21:57 - 34:11
      Aula 05 - Count + Desafios 00:34:02 - 00:38:08
      Aula 06 - Top + Desafios 00:38:10 - 00:40:01
      Aula 07 - Order By + Desafios 00:40:01 - 00:46:20
      Aula 08 - Between 00:46:29 - 00:51:46
      Aula 09 - In 00:51:55 - 00:55:31
      Aula 10 - Like 00:55:40 - 01:00:25
      Aula 11 - Desafios fundamentos SQL 00:01:06 - 01:06:33
      Aula 12 - Min Max Sum Avg - 01:06:40 - 01:10:50
      Aula 13 - Group By 01:11:00 - 01:24:18
      Aula 14 - Having 01:24:18 - 01:32:40
      Aula 15 - As 01:33:00 - 01:38:58
      Aula 16 - Inner Join 01:30:05 - 01:55:17
      Aula 17 -Tipos de Joins 01:55:25 - 02:03:56
      Aula 18 - Outer Join 02:04:05 - 02:09:15
      Aula 19 - Union 02:09:20 - 02:15:13
      Aula 20 - Datepart 02:15:20 - 02:21:12
      Aula 21 - Manipulação de String 02:21:18 - 02:27:43
      Aula 22 - Operações Matemáticas 02:27:47 - 02:32:08
      Aula 23 - Subquery 02:32:12 - 02:43:06
      Aula 24 - Self Join 02:43:06 - 02:53:09
      Aula 25 - Tipos de Dados 02:53:13 - 03:01:29
      Aula 26 - Chave primária e estrangeira 03:01:35 - 03:08:50
      Aula 27 - Create Table 03:09:00 - 03:19:49
      Aula 28 - Insert Into 03:19:49 - 03:26:39
      Aula 29 - Update 03:26:45 - 03:30:14
      Aula 30 - Delete 03:30:20 - 03:33:05
      Aula 31 - Alter Table 03:33:10 - 03:39:48
      Aula 32 - Drop Table 03:39:55 - 03:42:55
      Aula 33 - Check Constraint 03:43:00 - 03:46:18
      Aula 34 - Not Null Constraint 03:47:03 - 03:53:38
      Aula 35 - Unique Constraint 03:53:43 - 03:52:41
      Aula 36 - Views 03:52:41 - 03:55:30
      Considerações Finais 03:55:31  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.