- 8/24/04 04:16 pm
Ja nu kādam kādreiz rodas vajadzība pēc SELECT no rezultātiem, ko atgriež PL/SQL funkcija, tad nu lūk risinājums, kuram uzdūros:
--papriekšu uztaisam jaunu datu tipu:
CREATE TYPE numset_t AS TABLE OF NUMBER;
/
--tagad taisam funkciju
CREATE FUNCTION f1(x number) RETURN numset_t PIPELINED IS
BEGIN
FOR i IN 1..x LOOP
PIPE ROW(i);
END LOOP;
RETURN;
END;
/
nu un lūk šāds select atgriezīs 3 rowus:
select * from table(f1(3));
un links, kur tas aprakstīts sīkāk:
https://cwisdb.cc.kuleuven.ac.be/ora10doc/appdev.101/b10807/12_tune.htm#i52932 - 3 commentsLeave a comment
- 8/24/04 05:20 pm
-
eem.. man Tev buus viens baigi lielais luugums..
bet nu ok, kaadu dienu zinjoshu Tev par to.. ;) - Reply
- 8/24/04 11:20 pm
-
Skaista ideja. Sākot ar kuru ora tas darbojas?
- Reply
- 8/25/04 11:01 am
-
man uz 9i griežas kā prieks;
man pēc šitādas konstrukcijas jau sen vēlme bija tikai nezināju vai orāklē tas ir iespējams. Klasiskais piemērs kautkādas atskaites, kur vajag summas pa dienām; pieņemot, ka par kādu dienu vispār nav ieraksti: mums tāds rows izpaliek, un pēc tam nākas viņu tur ķeksēt iekšā postprocesingā, kas galīgi nav jauki un smuki. a šitā mēs varam glīši datumu intervālus ģenrēt. - Reply