Official Oracle and oracle website
Baotou:
Create or replace package ProdureceCursorData is
Type curtype is ref cursor;
Type type_record is record
(
Deptno NUMBER (2 ),
Dname VARCHAR2 (14 ),
Loc VARCHAR2 (13)
);
PROCEDURE Procedure1 (cur out curtype );
End ProdureceCursorData;
Package body:
Create or replace package body ProdureceCursorData is
PROCEDURE Procedure1 (cur out curtype)
As
Begin
Open cur for select * from DEPT;
End;
End ProdureceCursorData;
Test:
SQL> select * from DEPT;
DEPTNO DNAME LOC
---------------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> set serveroutput on
SQL> declare
2 curoutarg ProdureceCursorData. curtype;
3 rec_arg ProdureceCursorData. type_record;
4 begin
5 dbms_output.put_line ('------------------------');
6 ProdureceCursorData. Procedure1 (curoutarg );
7 loop
8 fetch curoutarg into rec_arg;
9 exit when curoutarg % notfound;
10 dbms_output.put_line (rec_arg.deptno | ''| rec_arg.dname |'' | rec_arg.loc );
11 end loop;
12 end;
13/
------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
PL/SQL procedure successfully completed
Record the practice results, hahaha
In oracle, what is (+?
SELECT
A. id, B. IDD
FROM
A, B
WHERE
A. id (+) = B. IDD
Equivalent
SELECT
A. id, B. IDD
FROM
A right outer join B on (A. id = B. IDD)
SQL> select * from;
ID VAL
--------------------
1 A1
2 A2
SQL> select * from B;
IDD VAL
--------------------
1 B1
3 B3
SQL> SELECT
2 A. id, B. IDD
3 FROM
4 A, B
5 WHERE
6 A. id (+) = B. IDD;
ID IDD
--------------------
1 1
3
SQL> SELECT
2 A. id, B. IDD
3 FROM
4 a right outer join B on (A. id = B. IDD );
ID IDD
--------------------
1 1
3
When two tables are joined,
All the data in Table B is retrieved.
The data in table A is retrieved only when table B has the corresponding data.
In oracle, what is (+?
SELECT
A. id, B. IDD
FROM
A, B
WHERE
A. id (+) = B. IDD
Equivalent
SELECT
A. id, B. IDD
FROM
A right outer join B on (A. id = B. IDD)
SQL> select * from;
ID VAL
--------------------
1 A1
2 A2
SQL> select * from B;
IDD VAL
--------------------
1 B1
3 B3
SQL> SELECT
2 A. id, B. IDD
3 FROM
4 A, B
5 WHERE
6 A. id (+) = B. IDD;
ID IDD
--------------------
1 1
3
SQL> SELECT
2 A. id, B. IDD
3 FROM
4 a right outer join B on (A. id = B. IDD );
ID IDD
--------------------
1 1
3
When two tables are joined,
All the data in Table B is retrieved.
The data in table A is retrieved only when table B has the corresponding data.