Skip to content

Instantly share code, notes, and snippets.

@aykononov
Last active April 7, 2020 13:26
Show Gist options
  • Save aykononov/11aff038f40bae13579b894277847137 to your computer and use it in GitHub Desktop.
Save aykononov/11aff038f40bae13579b894277847137 to your computer and use it in GitHub Desktop.
Метод PIPELINED.
/* Метод pipelined.
Имеется таблица dept со следующей структурой:
Name Type Nullable Default Comments
------ ------------ -------- ------- --------
DEPTNO NUMBER
DNAME VARCHAR2(14) Y
LOC VARCHAR2(13) Y
Необходимо реализовать функцию PL/SQL которая будет возвращать выборку из таблицы dept заданную
минимальным и максимальным значением поля DEPTNO.
Реализуемая функция должна использовать метод pipelined.
*/
CREATE OR REPLACE TYPE rowsGetDept
IS OBJECT (deptno NUMBER,
dname VARCHAR2(14),
loc VARCHAR2(13));
CREATE OR REPLACE TYPE tblRowGetDept
IS TABLE OF rowsGetDept;
CREATE OR REPLACE FUNCTION fnc_get_dept
RETURN tblRowGetDept PIPELINED
IS
BEGIN
FOR cur IN (SELECT dept.deptno, dept.dname, dept.loc
FROM dept
WHERE dept.deptno
BETWEEN (SELECT MIN(dept.deptno)FROM dept)
AND (SELECT MAX(dept.deptno)FROM dept))
LOOP
PIPE ROW (rowsGetDept(cur.deptno,cur.dname,cur.loc));
END LOOP;
END fnc_get_dept;
@aykononov
Copy link
Author

aykononov commented Nov 11, 2019

Имеется таблица dept со следующей структурой:

Name   Type         Nullable Default Comments 
------ ------------ -------- ------- -------- 
DEPTNO NUMBER                                 
DNAME  VARCHAR2(14) Y                         
LOC    VARCHAR2(13) Y                         

Необходимо реализовать функцию PL/SQL которая будет возвращать выборку из таблицы dept заданную минимальным и максимальным значением поля DEPTNO. Реализуемая функция должна использовать метод pipelined.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment