CREATE OR REPLACE TYPE MY_OBJECT
AS OBJECT
(
A INT,
B DATE,
C VARCHAR2(25)
);
Type created.
CREATE OR REPLACE TYPE MY_TAB
AS TABLE OF MY_OBJECT;
Type created.
CREATE OR REPLACE FUNCTION MY_FUNC (ST_DATE DATE) RETURN MY_TAB PIPELINED IS
BEGIN
FOR i in 1 .. 5
LOOP
PIPE ROW (MY_OBJECT(i,ST_DATE+i,'Row '||i));
END LOOP;
RETURN;
END;
Function created.
SELECT * FROM TABLE(MY_FUNC(SYSDATE))
A | B | C | 1 | 08-JUL-17 | Row 1 | 2 | 09-JUL-17 | Row 2 | 3 | 10-JUL-17 | Row 3 | 4 | 11-JUL-17 | Row 4 | 5 | 12-JUL-17 | Row 5 |
---|
CREATE TABLE SOURCE_DATA (ID NUMBER, ST_DATE DATE)
Table created.
INSERT INTO SOURCE_DATA VALUES (1,SYSDATE-7)
1 row(s) inserted.
INSERT INTO SOURCE_DATA VALUES (2,SYSDATE-6)
1 row(s) inserted.
INSERT INTO SOURCE_DATA VALUES (3,SYSDATE-5)
1 row(s) inserted.
INSERT INTO SOURCE_DATA VALUES (4,SYSDATE-4)
1 row(s) inserted.
INSERT INTO SOURCE_DATA VALUES (5,SYSDATE-3)
1 row(s) inserted.
INSERT INTO SOURCE_DATA VALUES (6,SYSDATE-2)
1 row(s) inserted.
INSERT INTO SOURCE_DATA VALUES (7,SYSDATE-1)
1 row(s) inserted.
INSERT INTO SOURCE_DATA VALUES (8,SYSDATE)
1 row(s) inserted.
SELECT * FROM SOURCE_DATA ORDER BY 1
ID | ST_DATE | 1 | 30-JUN-17 | 2 | 01-JUL-17 | 3 | 02-JUL-17 | 4 | 03-JUL-17 | 5 | 04-JUL-17 | 6 | 05-JUL-17 | 7 | 06-JUL-17 | 8 | 07-JUL-17 |
---|