celsotsf 0 Denunciar post Postado Agosto 3, 2016 Boa tarde, Eu criei uma procedure para popular uma tabela em outro banco de dados usando database link. Se eu fizer um insert simples com os valores declarados funcionam, as consultas também funcionam mas quando tentei usar a procedure me apresentou um erro ORA-00947: não há valores suficientes. Mesmo que eu faça com um unico campo varchar apresenta o mesmo erro. Se puderem me ajudar serei muito grato segue a procedure. CREATE OR REPLACE PROCEDURE teste_followup BEGIN FOR R IN ( select dt_criacao_pedido, nm_proprietario_estoque, nr_pedido, nr_nf, nm_cliente from ztbl_expedicao where tp_status = '95' ) LOOP INSERT INTO "tbl_int_expedicao"@mysql VALUES ( R.dt_cadastro, R.nm_cliente, R.nm_web, R.nm_nf, R.nm_destino); END LOOP; END; Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 3, 2016 O erro ORA-00947: não há valores suficientes indica que a tabela tem mais colunas que a nomeada no isert 1) faça um insert nomeado insert into tabela (coluna1,coluna2,coluna3) values (1,'abc',2); 2) faça o insert com o mesmo número e tipos de colunas Compartilhar este post Link para o post Compartilhar em outros sites
celsotsf 0 Denunciar post Postado Agosto 4, 2016 Eu consigo inserir com esse codigo. INSERT INTO "tbl_int_expedicao"@mysql("dt_cadastro","nm_cliente","nm_web","nm_nf","nm_destino")VALUES('2016-08-01 09:41:59','SYLINK','000000025379','','226870550001');commit; Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 4, 2016 Na sintaxe do post #3 você insere para as colunas nomeadas ("dt_cadastro","nm_cliente","nm_web","nm_nf","nm_destino") , se houverem outras elas não são afetadas , a não ser que exista alguma que não admita nulos , se houver seu insert dará erro. Na sintaxe do post #1 se estera que o SELECT tenha TODAS as colunas da tabela Solução como dito no post #2 1) faça um insert nomeado INSERT INTO table(column1, column2, ... column_n )SELECT expression1, expression2, ... expression_nFROM source_table[WHERE conditions] 2) faça o insert com o mesmo número e tipos de colunas vide http://www.techonthenet.com/oracle/insert.php Compartilhar este post Link para o post Compartilhar em outros sites