Avatar billede kegel Nybegynder
03. oktober 2001 - 12:56 Der er 7 kommentarer og
1 løsning

REF Cursor

Jeg har defineret følgende weak ref cursor:

create or Replace package Test_pkg is

  Type TCursor is ref cursor;
   
  procedure CallMe(ACursor out TCursor);

end;

create or replace package body Test_pkg is

procedure AllEmployee(ACursor out TCursor) is
begin
  open ACursor for
  select *
  from  ATabel
end;

end;

Når jeg nu forsøger at eksekvere denne procedure i TOAD så får jeg bl.a. at vide at identifikatoren CURSOR skal erklæres? Såvidt jeg kan konstatere så er ovenstående korrekt, men et eller andet må jo være forkert
Avatar billede teepee Nybegynder
03. oktober 2001 - 13:07 #1
prøv

Type TCursor is ref cursor return ATabel%rowtype;
Avatar billede kegel Nybegynder
03. oktober 2001 - 13:08 #2
Ups, blot for en god orden skyld - header og body navnet på proceduren er naturligvis ens, en lille bøf ved kopiering af kildeteksten.
Avatar billede kegel Nybegynder
03. oktober 2001 - 13:08 #3
Det har jeg også forsøgt - med samme sørgelige resultat
Avatar billede teepee Nybegynder
03. oktober 2001 - 13:11 #4
hvad med at lave parametren til IN OUT
Avatar billede kegel Nybegynder
03. oktober 2001 - 13:18 #5
Teepee

Det har jeg også prøvet, sorry
Avatar billede teepee Nybegynder
03. oktober 2001 - 13:32 #6
Jeg har prøvet at indlæse i lokal databse og fik altså ingen fejl! Dvs. jeg satte lige et semikolen efter selecten og omdøbte body proceduren til at have samme navn som i spec\'en.
Avatar billede teepee Nybegynder
03. oktober 2001 - 13:44 #7
Jeg har prøvet at skyde følgende kald af, og det gik fint:

declare
  cur test_pkg.tcursor;
begin
  test_pkg.callme(cur);
end;
/

Har du \"sjove\" felter i tabellen, såsom CLOB/BLOB?
Avatar billede kegel Nybegynder
03. oktober 2001 - 13:53 #8
Tja, jeg har også prøvet præcist det samme - men fra SQL/PLUS - herfra virker den!!? Noget kunne tyde på at der er en bug i TOAD.

Jeg lukker spørgsmålet, men du får naturligvis dine point for en ihærdig indsats. \'

Tak for hjælpen under alle omstændigheder.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester