Jump to content
Sign in to follow this  
celsotsf

Procedure usando dblink com erro ORA-00947

Recommended Posts

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;

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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;

Share this post


Link to post
Share on other sites

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_n
FROM 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

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
Sign in to follow this  

×

Important Information

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