Comportamento estranho com provider oledb e Pipe Row

20/02/2009

0

Olá, a procedure abaixo deveria apresentar um erro de divisão por zero, sempre que eu a executo. Porém quando eu a executo usando uma conexão via driver oleDB da oracle, o erro só aparece se ela voltar menos de 100 linhas através do pipe row.

Alguém sabe o que é isso ?


create or replace function TestPipeRow(pCount IN NUMBER)
return myType_table pipelined as

vQt NUMBER;

begin
vQt := 1 ;
while(vQt <= pCount)
loop
pipe row(myType(
´HANDLE´,
ltrim(to_char(vQt)),
´ORIGIN´,
´I´));
vQt := vQt + 1 ;
end loop;
vQt := 0 ;
vQt := trunc(10 / vQt) ;
return;
end;


types:

create or replace type myType as object(tColumn VARCHAR2(70), tValue VARCHAR2(2000), tOrigin VARCHAR2(200), tType VARCHAR2(1));
create or replace type myType_table as table of myType;


Larini

Larini

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar