Use the pseudocolumn LEVEL : LEVEL « PL SQL Programming « Oracle PL/SQL Tutorial

Oracle PL/SQL Tutorial
1. Introduction
2. Query Select
3. Set
4. Insert Update Delete
5. Sequences
6. Table
7. Table Joins
8. View
9. Index
10. SQL Data Types
11. Character String Functions
12. Aggregate Functions
13. Date Timestamp Functions
14. Numerical Math Functions
15. Conversion Functions
16. Analytical Functions
17. Miscellaneous Functions
18. Regular Expressions Functions
19. Statistical Functions
20. Linear Regression Functions
21. PL SQL Data Types
22. PL SQL Statements
23. PL SQL Operators
24. PL SQL Programming
25. Cursor
26. Collections
27. Function Procedure Packages
28. Trigger
29. SQL PLUS Session Environment
30. System Tables Data Dictionary
31. System Packages
32. Object Oriented
33. XML
34. Large Objects
35. Transaction
36. User Privilege
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Oracle PL/SQL Tutorial » PL SQL Programming » LEVEL 
24. 12. 1. Use the pseudocolumn LEVEL
SQL>
SQL> CREATE TABLE books (
  2    isbn      VARCHAR2(10PRIMARY KEY,
  3    parent_isbn VARCHAR2(10),
  4    series    VARCHAR2(20),
  5    category  VARCHAR2(20),
  6    title     VARCHAR2(100),
  7    num_pages NUMBER,
  8    price     NUMBER,
  9    copyright NUMBER(4));

Table created.

SQL>
SQL> INSERT INTO books (isbn, parent_isbn, series, category, title, num_pages, price, copyright)
  2    VALUES ('72191473', '72121467', 'Oracle PL/SQL', 'Oracle Server', 'Oracle9i PL/SQL Programming', 66449.992002);

row created.

SQL>
SQL> INSERT INTO books (isbn, parent_isbn, series, category, title, num_pages, price, copyright)
  2    VALUES ('72121467', null, 'Oracle PL/SQL', 'Oracle Server', 'Oracle8i Advanced PL/SQL Programming', 77249.992000);

row created.

SQL>
SQL> INSERT INTO books (isbn, parent_isbn, series, category, title, num_pages, price, copyright)
  2    VALUES ('72230665', '72191473', 'Oracle PL/SQL', 'Oracle Server', 'Oracle Database 10g PL/SQL Programming', 100854.992004);

row created.

SQL>
SQL> INSERT INTO books (isbn, parent_isbn, series, category, title, num_pages, price, copyright)
  2    VALUES ('72132302', null, 'Oracle Ebusiness', 'Oracle Ebusiness', 'Oracle E-Business Suite Financials Handbook', 82059.992002);

row created.

SQL>
SQL> commit;

Commit complete.

SQL>
SQL> SET SERVEROUTPUT ON
SQL>
SQL> PROMPT

SQL> PROMPT ** The following is a demonstration of LEVEL, and the
** The following is a demonstration of LEVEL, and the
SQL> PROMPT **  use of START WITH ... CONNECT BY PRIOR to display
**  use of START WITH ... CONNECT BY PRIOR to display
SQL> PROMPT **  parent/child hierarchical relationships.
**  parent/child hierarchical relationships.
SQL> PROMPT

SQL>
SQL> DECLARE
  2     v_level PLS_INTEGER;
  3     v_title BOOKS.TITLE%TYPE;
  4
  5     CURSOR cur_tree
  6     IS
  7        SELECT isbn, title, series
  8        FROM books;
  9  BEGIN
 10
 11  FOR l IN cur_tree
 12  LOOP
 13
 14  SELECT max(LEVEL)
 15  INTO v_level
 16  FROM books
 17  START WITH isbn = l.isbn
 18  CONNECT BY PRIOR parent_isbn = isbn;
 19
 20  DBMS_OUTPUT.PUT_LINE(l.title||' is book '
 21                       ||v_level||' in the '||l.series||' series');
 22
 23  END LOOP;
 24
 25  CLOSE cur_tree;
 26
 27  EXCEPTION
 28     WHEN OTHERS
 29     THEN
 30        DBMS_OUTPUT.PUT_LINE(sqlerrm);
 31  END;
 32  /
Oracle9i PL/SQL Programming is book in the Oracle PL/SQL series
Oracle8i Advanced PL/SQL Programming is book in the Oracle PL/SQL series
Oracle Database 10g PL/SQL Programming is book in the Oracle PL/SQL series
Oracle E-Business Suite Financials Handbook is book in the Oracle Ebusiness series
ORA-01001: invalid cursor

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL>
SQL> drop table books;

Table dropped.
24. 12. LEVEL
24. 12. 1. Use the pseudocolumn LEVEL
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.