none
@var = Select * from Table, como fazer isso? RRS feed

  • Pergunta

  • Tenho aqui uma Variável declarada, e tenho nela um select, no caso eu preciso pegar 3 valores, ou 2 ou 5.. depende do usuário, será dinâmico isso...

    select @Var = Var from Evento

    Neste caso dentro de Evento pode ter quantos registros o usuário digitar, como seria feito isso?

    Depois iria usar @Var[1,2,3,4,..] nas linhas seguintes usando um For, estou começando a aprender aqui sobre BD, poderiam ajudar?

    Obrigado!

    quarta-feira, 24 de outubro de 2012 12:24

Respostas

  • Achei uma forma na qual funciona, apenas não sei se é a correta...

    Por este motivo que vim aqui buscar ideias, caso alguém tenha uma forma correta de se fazer isso da um toque pra eu aprender, mas para fins de resposta vou dar a resposta...

    Usei isso aqui

    FETCH

    quarta-feira, 24 de outubro de 2012 14:28

Todas as Respostas

  • Uma variável só pode ter apenas um valor.

    Se são vários registros você não pode usar dessa forma.

    Ou você percorre a própria tabela Evento ou joga o conteúdo do campo para uma tabela temporária (ou variável de tabela).


    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quarta-feira, 24 de outubro de 2012 12:32
    Moderador
  • Amigo, bom dia.

    O SQL não trabalha com variáveis do tipo array. Vc teria que receber este array numa variavel do tipo varchar e realizar um split dos dados lá contidos.

    Dê uma pesquisada na net, se não me engano no blog do Thiago Zavaschi possui uma rotina que realiza split, baseado em um delimitador.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    quarta-feira, 24 de outubro de 2012 12:37
  • Fico muito grato pela resposta, gostaria de entender melhor caso você ou outros também puderem participar.

    Seguinte, no caso esse é o código exemplo:

    create trigger ExecutaEvento
    on Conta
    after update
    as
    
    declare @var int
    
    if UPDATE(Quitado)
    begin
    	select @Var from Evento
    	
    	insert into Conta values(...) where Var = @Var
    end

    No caso como ficaria usando variável de tabela?

    Ou até mesmo como ficaria percorrendo a própria tabela?

    quarta-feira, 24 de outubro de 2012 12:39
  • Achei uma forma na qual funciona, apenas não sei se é a correta...

    Por este motivo que vim aqui buscar ideias, caso alguém tenha uma forma correta de se fazer isso da um toque pra eu aprender, mas para fins de resposta vou dar a resposta...

    Usei isso aqui

    FETCH

    quarta-feira, 24 de outubro de 2012 14:28