Porque sera esse erro ?
25/05/2004
0
eu declarei assim :
PED PEDIDO¬ROWTYPE; CURSOR PEDI IS SELECT * FROM PEDIDO WHERE CDPEDIDO = ORDERID AND CNPJ IN (CLIENTS) ;
depois eu abro assim:
OPEN PEDI; FETCH PEDI INTO PED;
Mais da erro :
18/1 PLS-00394: numero incorreto de valores na lista INTO de uma
instruc?o FETCH
18/1 PL/SQL: SQL Statement ignored
na linha 18 ta fetch
Ualex
Posts
25/05/2004
Motta
CURSOR PEDI IS SELECT * FROM PEDIDO WHERE CDPEDIDO = ORDERID AND CNPJ IN (select cnpj from CLIENTS) ;
27/05/2004
Ualex
Pois a variavel clients ta com os seguintes valores :
clients := ´2112212,121212,22222121´;
sabe tipo uma lista. então funciona.
Mas ja resolvi este problema acho que era algum bug do oracle pois foi só eu apagar uma coluna e cria-la novamente na tabela pedido que funcionou.
27/05/2004
Motta
Select Cast(clients) From dual)
ou
Select Cast(clients) as tipocliente From dual)
tipocliente é o tipo de definiu a tabela virtual
04/06/2004
Paladino
ex:
1 caso - Variável externa ao cursor:
procedure/function (clients varchar2) ...
... CURSOR PEDI IS SELECT * FROM PEDIDO WHERE CDPEDIDO =
ORDERID AND CNPJ IN (clients) ;
2 caso - Variável interna no cursor:
CURSOR PEDI (clients varchar2) IS SELECT * FROM PEDIDO WHERE CDPEDIDO = ORDERID AND CNPJ IN (clients) ;
...
Open PEDI(´2112212,121212,22222121´);
Espero ter ajudado!
04/06/2004
Ualex
Mas o problema não é esse é que tinha colocado um campo na tabela pedido. e depois disso começou dar esse erro.
dae eu retirei o campo e coloquei novamente e funcionou.
foi pau do oracle mesmo 8)
Clique aqui para fazer login e interagir na Comunidade :)