04. juni 2003 - 22:30Der er
5 kommentarer og 2 løsninger
Procedure med flere outputs
Hvodan får man en procedure eller noget ligende til at retunere flere outputs. Jeg ved ikke hvor mange der kommer hver gang. Jeg havde overvejet lidt at aflevere resultaterne i et varray, men hvordan ville i gøre ?
Jeg har en procedure som fint nok skriver ud i SQL*Plus, men jeg skal have afleveret data til et ASP dokument.
create or replace procedure getvernum(name in varchar2) is begin stats varray(2) of number(10); declare cursor getver is select b.browser.browserversion as bver, count(b.browser.browserversion) numver from browser b where b.browser.browsername like 'Int%' group by b.browser.browserversion order by b.browser.browserversion desc; begin
for getver_rec in getver loop dbms_output.put_line('Der er '||getver_rec.numver||' der bruger version '||getver_rec.bver); end loop; return stats; end; end; /
create or replace procedure getvernum(name in varchar2,p_out in out type) is ..... hvor type kan være varchar2 eller hvad du måtte ønske. p_out tildeles så bare en værdi i proceduren.
create or replace procedure getvernum(name_in in varchar2, bversion_out out number, bnum_out out number) is begin declare cursor getver is select b.browser.browserversion as bver, count(b.browser.browserversion) numver from browser b where b.browser.browsername = name_in group by b.browser.browserversion order by b.browser.browserversion desc; begin
for getver_rec in getver loop bversion_out := getver_rec.numver; bnum_out := getver_rec.numver; end loop; end; end; /
men når jeg vil køre den siger den forkert antal eller typer af argumenter i kald til 'GETVERNUM'
jeg kalder den sådan her execute getvernum('Mozilla');
Kan du give et eksempel jeg lige kan køre af i SQL*Plus, bare med numbers
tabelle hvor funktionen skal knyttes til ser sådan her ud CREATE OR REPLACE TYPE browser_ty AS OBJECT ( browsername varchar2(50), browserversion varchar2(10), osname varchar2(50), member function GetNumBrow(name in varchar2) return number, pragma restrict_references(getnumbrow,wnds)); / CREATE TABLE browser (browserid number(10) PRIMARY KEY, browser browser_ty);
Nå lukker det er lige meget nu, du skal have lidt point, selv om jeg ikke helt fandt ud af det!
Synes godt om
Ny brugerNybegynder
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.