Autor Tópico: Listar dados de uma tabela e inserir todos os dados em outra  (Lida 845 vezes)

Arquimedes

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 561
  • Ajudar para ser ajudado
Listar dados de uma tabela e inserir todos os dados em outra
« Online: Agosto 31, 2014, 10:39:37 am »
Amigos estou precisando de uma ajuda,
ao selecionar um tipo de uma tabela gostaria de enviar todos o dados que forem igual a esse tipo para outra, o problema que estou conseguindo enviar somente a primeira linha.



George Carvalho

  • Expert
  • *****
  • Mensagens: 1369
    • Email
Re:Listar dados de uma tabela e inserir todos os dados em outra
« Responder #1 Online: Agosto 31, 2014, 11:23:54 am »
sc_select(dataset, "Comando SQL", "Conexão");

Esta macro permite que o usuário execute comandos SQL e tenha acesso ao "dataset" proveniente do comando.
Diferente da macro sc_lookup, esta macro não manipula o dataset, deixando-o em sua forma original, cabendo ao usuário toda a manipulação.

Caso ocorra erro na execução do comando sql, a variável atribuida ao dataset retornará como "false" e a mensagem de erro estará disponível na variável "dataset_erro".

O parâmetro "conexção" é opcional, sendo necessário se o comando for executado em uma base de dados diferente da especificada para a aplicação.

Ex. 1:
sc_select(meus_dados, "select clienteid, nomecliente, limitecred from clientes");
if ({meus_dados} === false)
{
echo "Erro de acesso. Mensagem = " . {meus_dados_erro};
}
else
{
while (!$meus_dados->EOF){
{nome_cliente} = $meus_dados->fields[1];
$meus_dados->MoveNext();
}
$meus_dados->Close();
}
George Carvalho
Porto de Galinhas/PE

Arquimedes

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 561
  • Ajudar para ser ajudado
Re:Listar dados de uma tabela e inserir todos os dados em outra
« Responder #2 Online: Agosto 31, 2014, 11:33:49 am »
Obrigado George Carvalho

 Ele esta inserindo todos os dados mais agora esta com o seguinto erro, ele inseri  todos os registro normal e repeti o primeiro a quantidade de registros existente.
Esses dados estao entrando no loop e  esta repetindo 4 vezes que é a quantidade de pessoas do lote acima, dentro do inserte

exemplo dados do banco de dados

1;2;1;99  ------- insert ok
1;2;2;99  ------- insert ok
1;2;3;99  ------- insert ok
1;2;4;99  ------- insert ok
1;1;1;99 -- não era para ser inserido
1;1;1;99 -- não era para ser inserido
1;1;1;99 -- não era para ser inserido
1;1;1;99 -- não era para ser inserido


Como fasso agora para inserir so os 4 primeitos registros conforme existena na primeira tabela ?






// -----------codigo de lista para inserir em outra tabela

$check_sql = "select poli_lota_cod serial from recursoshumanos.pessoa_lotacao where poli_lota_activo = true and fk_subu_cod =1 and fk_guar_cod = 2 ";   

sc_select(rs, $check_sql);


   while(!$rs->EOF)
      {
      $pessoa= $rs->fields[0];
      $rs->MoveNext();
         
   sc_exec_sql("insert into escalaservico.historico_policiamento_escala
(fk_esca_serv_cod,fk_index_loca_moda ,fk_poli_lota_cod,fk_func_serv) values (1,2,$pessoa,99)");
         
      }
  $rs->Close();

// -----------fim do codigo de lista para inserir em outra tabela
« Última modificação: Agosto 31, 2014, 12:06:57 pm por Arquimedes »

George Carvalho

  • Expert
  • *****
  • Mensagens: 1369
    • Email
Re:Listar dados de uma tabela e inserir todos os dados em outra
« Responder #3 Online: Agosto 31, 2014, 12:40:04 pm »
Não está faltando a clausula where no seu select?
George Carvalho
Porto de Galinhas/PE

Arquimedes

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 561
  • Ajudar para ser ajudado
Re:Listar dados de uma tabela e inserir todos os dados em outra
« Responder #4 Online: Agosto 31, 2014, 03:23:23 pm »
Amigo muito obrigado tinha um outro insert bem abaixo apos visualzar com mais cuidade que encontrei.

Muito Obrigado pela ajuda

George Carvalho

  • Expert
  • *****
  • Mensagens: 1369
    • Email
Re:Listar dados de uma tabela e inserir todos os dados em outra
« Responder #5 Online: Agosto 31, 2014, 06:08:08 pm »
Por nada amigo.
George Carvalho
Porto de Galinhas/PE

Arquimedes

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 561
  • Ajudar para ser ajudado
Re:Listar dados de uma tabela e inserir todos os dados em outra
« Responder #6 Online: Setembro 04, 2014, 09:28:19 am »
Amigo bom dia,
 Ele esta gerando perfeitamente e inserindo perfeitamente,  não resolvi um outro problema.
 Teria como lista e puder alterar alguns dados antes de inserir na outra tabela.
 Não conseguir fazer isso. Nem o tipo de formulário que irei utilizar.


Att Arquimedes