INSERT com SELECT + informações fixas

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
mondonet
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Qui, 26 Jul 2018 12:14 pm

Olá,
Tudo bem?
Sou novato em SQL... preciso da ajuda de vocês, mais experientes.
Preciso elaborar um INSERT em uma tabela que insira várias linhas de acordo com a quantidade de registros de outra tabela.
Seria mais ou menos isso:

Selecionar tudo

INSERT INTO MGFIN.FIN_CLASSE_USUARIO (GRU_IN_CODIGO, CLA_TAB_IN_CODIGO, CLA_PAD_IN_CODIGO, CLA_IDE_ST_CODIGO, CLA_IN_REDUZIDO)
 VALUES
 ((SELECT GRU_IN_CODIGO FROM MGGLO.GLO_GRUPO_USUARIO WHERE GRU_CH_TIPO = 'U' AND GRU_ST_TELEFONE = 'CS'),350,1,2,663);
O campo GRU_IN_CODIGO é o código do registro em outra tabela (este é o SELECT) e as demais informações são fixas, não se alterarão.
Alguém poderia auxiliar-me com a sintaxe correta da query?
No aguardo, desde já agradeço.
Um grande abraço à todos.
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Olá,
Como o "GRU_IN_CODIGO" pode variar de acordo com a tabela "GLO_GRUPO_USUARIO" e os demais campos são fixos, o mais correto seria da seguinte forma:

Selecionar tudo

INSERT INTO MGFIN.FIN_CLASSE_USUARIO
  (GRU_IN_CODIGO, --1
   CLA_TAB_IN_CODIGO, --2
   CLA_PAD_IN_CODIGO, --3
   CLA_IDE_ST_CODIGO, --4
   CLA_IN_REDUZIDO) --5
VALUES
  (SELECT GRU_IN_CODIGO, --1
          350, --2
          1, --3
          2, --4
          663 --5
     FROM MGGLO.GLO_GRUPO_USUARIO
    WHERE GRU_CH_TIPO = 'U'
      AND GRU_ST_TELEFONE = 'CS');
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes