| 0 comments ]

CURSOR WITH SUBQURIES:


     a) A CURSOR can be constructed upon the result provided through a SUBQUERY.
     b) The SUBQUERY can be an ordinary on of a correlated SUBQUERY.
     c) The SUBQUERY when evaluated can provide a value on a set of values to the statement.

        Example:
        -------
                 Sql >  DECLARE
                               V_DeptNo Dept.DeptNo%TYPE;
                               V_DName  Dept.DName%TYPE;
                               V_Staff NUMBER(4);
                               CURSOR StraffCountCursor IS
                                                  SELECT T1.DeptNo,T1.Dname,T2.Staff FROM Dept T1,
                                                         (SELECT DeptNo,COUNT(*) Staff FROm Emp GROUP BY DeptNo)T2
                                                                  WHERE T1.DeptNo=T2.DeptNo AND T2.Staff>=5;
                         BEGIN
                               OPEN  StaffCountCursor;
                               LOOP
                                   FETCH StaffCountCursor INTO V_DeptNo,V-Dname,V-Staff;
                                   EXIT WHEN StaffCountCursor%NOTFOUND;
                                   DBMS_OUTPUT.PUT_LINE(V_DeptNo||''||V_Dname||''||V_Staff);
                               END LOOP;
                               CLOSE StaffCountCursor;
                        END;

0 comments

AddThis

| More
Widget By Devils Workshop