Jump to content
FabianoSouza

INSERT EM LOOP

Recommended Posts

Tenho uma situação em que preciso gravar uns três campos.

Porém, a quantidade de vezes que preciso executar o INSERT é variável (1, 2 ou 3 vezes).

Quero saber dos colegas qual seria a melhor abordagem e um exemplo de código para isso.

 

Pensei inicialmente em passar para o banco um JSON contento os objetos (até 3). 

Aí fazer um loop que percorra esse JSON e execute o INSERT ao mesmo tempo.

 

Podem dar uma força?

 

Valew!

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By FabianoSouza
      Tenho uma string JSON que recebo da aplicação. Até aqui ok, sem problema.
      Minha procedure faz um select comum numa tab e coloca os dados retornados numa tab temporária. Até aqui também ok. 
       
      O que preciso é:
      Criar um loop que varra a string JSON, recuperando dela os valores selValue  e dataInp de cada objeto, em seguida, verifique se esses valores existem na tabela temporária.
      Se existirem, faça isso, se não existirem, faça aquilo.
      Vamos ao que já tenho construído.
       
      O JSON tem esse esse formato
      SET @json = N'[ {"selValue": "1", "inpValue":"sdsadsa", "dataInp": "2"} , {"selValue": "2", "inpValue":"sjjdsa", "dataInp": "3"} , {"selValue": "3", "inpValue":"sddaod", "dataInp": "2"} , {"selValue": "4", "inpValue":"ssanjsd", "dataInp": "2"} ]'  A tabela temporária possui apenas dois campos do tipo inteiro: idRS e idRSC.
      SELECT RSC.c1 AS idRS, RSC.c2 AS idRSC INTO #tbTemp FROM dbo.minhaTabela AS RSC INNER JOIN dbo.outraTabela AS ML ON ML.id = RSC.c2 ----------------------- idRS idRSC 4 1 5 0 3 2 2 4  
      Agradeço desde já, pessoal.
       
      Valew!
    • By mamotinho
      Olá, pessoal mais uma vez venho pedi a ajuda de vocês estou com um problema ao roda uma query que montei, eu sou iniciante na area e não tenho muito conhecimento então o codigo que fiz foi parte de meu conhecimento básico. bom o que eu quero resolver nessa query é o seguinte, eu quero consultar uma tabela e nela pega todos os registros com a a data vencida e lista ela dentro do while em seguida retornar dentro desse if o valor da coluna de cada uma exemplo de como fiz e ficou com loop infinito.

       
      declare @id int declare @getdate datetime select @id = IDCadastrado, @getdate = RegDate from BancoTeste.dbo.MinhaTabela where RegDate < getdate() while @id is not null begin select * from BancoTeste.dbo.MinhaTabela where IDCadastrado = @id end quando eu executo isso ai ele executa infinitamente o valor do primeiro registro repetidamente.
    • By Onaita
      Boa noite, preciso de uma ajuda com o código abaixo:
      - Dentro da variável '$dados' tenho uma array em que o id repete com datas diferentes, preciso descartar uma das duas arrays repetidas com o mesmo 'id', mantendo a de menor data, ou seja, o resultado final seria:
      "Array ( [0] => Array ( [id] => 12 [data] => 2020-07-02 ) , [1] => Array ( [id] => 13 [data] => 2020-06-10 ) ) "
      - já tentei de tudo um pouco a princípio estou trabalhando com a ideia de loop dentro de loop, para varrer e comparar, mas como vcs podem ver estou deixando passar alguma coisa;
      <?php
      $dados =     [array("id" =>12, "data"=>"2020-07-02"),
                  array("id" =>13, "data"=>"2020-06-10"),
                  array("id" =>13, "data"=>"2020-06-15"),
                  array("id" =>12, "data"=>"2020-05-12")];
      $total = count($dados);
      foreach($dados as $item){
          for($i=1; $i < $total; $i++){
              if($item['id'] == $dados[$i]['id']){
                  if(strtotime($item['data']) <= strtotime($dados[$i]['data'])){
                      unset($dados[$i]);
                      $dados = array_values($dados);
                      $total = count($dados);
                      
                  }    
              }    
          }    
      }
      print_r($dados);
      Array ( [0] => Array ( [id] => 12 [data] => 2020-07-02 ) ) //resultado
       
      Se alguém achar o erro, ou uma forma de resolver esse problema ficarei muito agradecido!
      Obrigado e Um grande abrs a todos!
    • By Public2004
      Boas. Para fins de aprendizado, estou criando um tema personalizado e do zero, a ideia é não ter a dependência de nenhum plugin e entender como funciona os processos. Nesse caminho surgiu uma dúvida, explico:
      Vou cadastrar em uma determinada categoria alguns posts meio padrão tipo, titulo, corpo (texto) e escrever um resumo no campo específico.
      Só que no corpo de cada post eu vou ter um elemento específico, tipo um "embed" (apenas um em cada post).
      Tem como criar alguma função, filtro ou sei lá, que de alguma forma na listagem (loop) dos posts eu consiga capturar apenas esse elemento  específico do corpo?
      Resumindo, o que eu pretendo é criar uma página apenas dessa categoria e na listagem trazer o Título, o Resumo e esse elemento específico do corpo.
       
      Obrigado.
    • By william_123
      Boa noite gente, 
       
      Poderiam me ajudar?
      Achei esse código na internet, ele pega informações do veiculo no jogo.
      Porém ele fica marcando por exemplo, velocidade "0".
      Acredito que tenha que estar atualizando sempre pra subir ou descer este e outros valores, pois são variáveis que se atualizam constantemente.
       
      Mas eu não faço ideia de como faço esse loop, pois utilizei While(true), e o programa nem abre e ão da erro nenhum.
      Poderiam me ajudar ?
       
      using Ets.Telemetry.Server.Data; using Ets.Telemetry.Server.Data.Reader; var data = Ets2TelemetryDataReader.Instance.Read(); a1.Text = data.TruckSpeed.ToString(); a2.Text = data.EngineRpm.ToString();  
      É C#...
       
      Desde já agradeço.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.