none
Inserir dados em uma tabela através de outra RRS feed

  • Pergunta

  • Olá,


    Possuo uma tabela X e gostaria de popular as tabelas , Y e Z de acordo com os dados da tabela Y. Ou seja, irei efetuar uma consulta a tabela X e dependendo do resultado eu preencheria a tabela Y ou Z.

    Exemplo:

    X (Cod_id, Nome, Apelido)

    Y (Cod_id, Nome_A, Apelido)

    Z (Cod_id, Nome_B)

    Gostaria de inserir o conteúdo de tabela X em Y e Z sendo que se o  X.Nome começar com A o conteúdo será inserido na tabela Y, se começar com B será inserido na tabela Z.

    Alguém teria alguma ideia de como montar este script?

    Grato


    sexta-feira, 19 de dezembro de 2014 11:53

Respostas

  • Bom dia,

    Experimente mais ou menos dessa forma:

    insert into TabelaY (Cod_id, Nome_A, Apelido)
        select Cod_id, Nome, Apelido
        from TabelaX
        where Nome like 'A%';
    
    insert into TabelaZ (Cod_id, Nome_B)
        select Cod_id, Nome
        from TabelaX
        where Nome like 'B%';
    

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    sexta-feira, 19 de dezembro de 2014 12:06

Todas as Respostas

  • Bom dia,

    Experimente mais ou menos dessa forma:

    insert into TabelaY (Cod_id, Nome_A, Apelido)
        select Cod_id, Nome, Apelido
        from TabelaX
        where Nome like 'A%';
    
    insert into TabelaZ (Cod_id, Nome_B)
        select Cod_id, Nome
        from TabelaX
        where Nome like 'B%';
    

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    sexta-feira, 19 de dezembro de 2014 12:06
  • Bom dia,

    Você pode utilizar um uma consulta dentro das cláusulas da inserção, um Insert Select. Também é viável através do Select Into, criando a tabela a partir do Select.

    No caso do seu exemplo ficaria parecido com esse modelo:

    INSERT INTO Z (COD_ID, NOME_A, APELIDO)

    SELECT COD_ID, NOME_A, APELIDO FROM Y

    OU 

    SELECT COD_ID, NOME_A, APELIDO INTO Z FROM Y


    Dê uma olhada para mais informações:

    http://technet.microsoft.com/pt-br/library/ms188263%28v=sql.105%29.aspx

    http://technet.microsoft.com/pt-br/library/ms190750%28v=sql.105%29.aspx


    Att, Bruno Silva.

    sexta-feira, 19 de dezembro de 2014 12:13