Documente Academic
Documente Profesional
Documente Cultură
|
|
PL/SQL
V
Day 1
6 Module 1: Introduction to PL/SQL
6 Module 2: PL/SQL Programming Constructs
6 Module 3: PL/SQL Language Features
6 Module 4: SQL in PL/SQL
6 Module 5: Control Structures
Day 2
6 Module 6: Stored sub programs (Stored Procedures &
Functions)
6 Module 7: Cursors and Data Types as in 3GL
|
PL/SQL (Contd.).
V
Day 3
6 Module 8: Cursors
6 Module 9: Packages
Day 4
6 Module 10: Exceptions
6 Module 11: Triggers
6 Module 12: Dependencies among PL/SQL Constructs
|
Module 1:
Introduction to PL/SQL
|
PL/SQL - INTRODUCTION
V
V
|
t is PL/SQL Block
6
6
! "#
! "
6 $##
!
#
#
! %&
! '
|
PL/SQL?
V "
(
) &
(
V
*
#
|
PL/SQL Engine
V
+
V
(
6 "
#
6 ( #
|
#
ere
PL/SQL stnds?
Front end
application Program
.
Invoking
PL/SQL
PROCEDURE
.
.
a
PL/SQL
****** **** **
|
PL/SQL Block
|
, )-.
/
%&
.
0
%#1
|
dvntges of PL/SQL
#
6
# # #
#
#
(
V ( #
6 m
# #
V
)
6 $
#
6
#
# (
V
6 ( 2
V
|
dvntges-Contd.
V "
)
6
#
) (
2
V
#
#
6 $##
# #
# ' # #
6
#
# (
(
#
3
# #)
&
|
Nesting of Blocks
#
#
)
)
&
' ( # #
(#
#
V m
#
V
V
V
V
|
Module 2:
PL/SQL Progr Constructs
|
Packages
PL/SQL
BLOCK
Stored
Procedure
/Programs
Procedures
|
Triggers
Functions
nonous Block
V
#
V
( * ) ( )
#
V
*
# #
)
) &
V 4
# ( )
#
V
# &
#
( #
|
Stored Procedures
V m #
V
#
23
' + | +
# & + + ))
V
#
#)
&
V " # )
V 2 )
)
|
Pckges
V "
# 3
V '
( +
#
V "
( ) #
#
3
|
Triggers
V '
#
) ( # (
V '
#
#)
&
V ( # )
)
|
Module 3:
PL/SQL Lnguge Fetures
|
Lexicl Unit
V "
6 $
,
# 6 m
6 "
=+>+?+
+
V "
6 ' "
( ) //
# <0<
V
6 %( )
#
,1|
|riles
V #
( (
V #
#
# (
#
V $
(
# #
# #
V
(
|
Rules-Identifier
V
# # # #
# # , ( # #V
#
|
Dt Tes
V
(
')
6 m C m +
6 "
C"+|6+|+
6
6
V "
')
6 ; #+ '
6 "
|
Declrtion - Exle
)
&
| m
')
%$D' .
m2' mD . mD .1
%&
) m ,E+6-1
4;$ m ,E+6- #
F 1
$ m ,E+6-G6 1
|
Declrtion
V #
# #
V 9
(
#
)
V 9 ) #
@
#
( )
&
#
V 9
#
|
!
%m 1
|
Oertors-ssignent
V G
V %& $G 1
6 $
( $1
V
G1
6 $
( J
*
6 ) #
/
@ # (
#
(
#
)
(
|
Oertors
V $
2
6 < + + + / +#
V " 2
6 ;
2
! + + H+ H+ # K H L
6 mD+ %+%'%%m+m
V 2
6 m2'+ $m + 2;
|
Built-in-Functions
V
V
V
V
V
V
m
"
"(
% ;
2
|
Nuer Functions
V
V
V
V
V
;2Dm
';Dm"
92
2%;+;'
"2+m+'$m+2:+
|
C rcter Function
V
V
V
V
V
V
+ D +
#+ ;#
+ ;
+ "
; + '
|
Dte -Function
V
V
V
V
V
V
V
V
)#
5#)
9
5
;#
'
$##5
m 5
m &
5#)
|
Conversion Function
V
V
V
V
V
V
V
'5
'5#
'5
"
#
;#
4 &
&
|
|
Ot ers - Functions
V
V
V
V
V
%"2 %
:;%$'%'
%$'
m|
D%;
|
Module 4:
SQL In PL/SQL
|
|
INTO Cluse
(Dt Fro SQL into PL/SQL)
V )
& %%"'
%%"'
.
m'2 (
.
;29
.
4%;% #
,- .
V #
( C %%"'
V
#
/ m'2
|
|
Exle 2
%"$;%
(5 (6, -1
%%"'
m'2 (5
;29
4%;% #
1
#1
V
)O
V
)
)
#
O
V
)
)
#
O
|
Restrictions
V
( )
#
V %%"' M m'2 #
6 ,
- #
)
6 2#
#
(
|
DML in PL/SQL
(5 GEEN61
(5 5GEENN
#
(5 5 (5 1
#
( ,P +*m$m"%*+*'%Q$*-1
#
(5 1
#1
V 9 # &
#
) #
)
&
V 9 "
#
|
x
TCL in PL/SQL
%"$;%
(5 ,E+6-1
%:m
#
<7 1
,
(5
1
(5 H
1
1
# 1
%m 1
|
|
ost vriles
V ; # # (
V D
|
^
u
Module 5:
Control Structures
|
Control Structures
V ) #
/
%&
V "
# # #
)
6 "#
6 "
|
Conditionl Stteents
V
&
)
#
V " #
V ')
(
6 0'4%m0%m
6 0'4%m0%%0%m
6 0'4%m0%0%m
|
IF Stteent -Exle
%& G
,|5R2J"%;*- '4%m
|52mDG6 1
%m 1
%& 6G
,|5R2J$%9$m*- '4%m
|52mDG6 1
%%
|52mDG 1
%m 1
|
IF TEN-ELSE
%& FG
,|5R2J$%9$m*- '4%m
|52mDG6 1
%%
,|5R2J"%;*- '4%m
|52mDGF 1
%%
|52mDG 1
%m 1
%m 1
|
x
ELSIF -Exle
%& SG
,|5R2J$%9$m*- '4%m
|52mDGS 1
% ,|5R2J"%;*- '4%m
|52mDGF 1
% ,|5R2J$m$T'*- '4%m
|52mDG6 1
%%
|52mDG 1
%m 1
|
xx
CSE
V '
#
V )
&
"$%
4%m #
'4%m
1
4%m #
'4%m
1
%%
1
%m "$%1
|
Looing Constructs
V %&
#)
V "
6 22
0%m 22
6 4% 022
0%m 22
6 2;0m022
0%m 22
|
LOOPEND LOOP
22
0
0
%m 22
V
22
# %m 22
&
#
# #
)
V D %Q'
#
|
x^
EXIT
22
0
%Q'1
0
%m 22
0
|
xu
EXIT EN - Exle
0
%Q' 4%m "m'H 1
0
%m 22
1
,"m'H - '4%m
952D'
D'
D'5m% ,J%& # #
*-1
%Q'1
%m 1
|
ILE LOOP
4% ,#
22
0
%m 22
1
V
22
# %m 22
&
#
#
V '
#
#) /
(#
|
FOR LOOP
2;
m ;%|%;%.
5( 5(
22
0
%m 22
1
V
#
C 2; (
V
|
|
NULL - Stteent
V
#
#
V #)
&
&
)
%&
, -
mD1
#5
5 ,J
*-1
# 1
|
Module 6:
Stored Su Progrs
|
dvntges of Surogrs
V
V
V
V
V
V
9#
( # 9
# &
#
3
(
)
@ #
|
Tes of Preters
V
V $
|
Module 6.1:
Stored Procedures
|
V m
6 ' #
(
V 2D'
6 ")
(
(
V m 2D'
6 D #
#
# # )
|
IN Preter
V '
V
6 #
#
# m
6 #
,m
*
# #
V '
6 " ( +
&
6 #
@ # (
|
OUT Preter
V "
(
V
6 9# 2D' # &
)
6 2D'
#
#
V '
6 9
(
6 # /
@ #
|
IN OUT Preter
V # # ( #
#
V
6 9# m 2D' # &
)
6 $
V '
6 9
(
6 #
@ #
|
Creting t e Procedure
";%$'% 2; ;%
$"%.
;2"% D;%
#
,
92 %.
) +
6 92 %.
) +
0-.
$
5(
) .
|
|
Procedure - Exle
"
#
( ,
(5 m +
(5 2D' (6+
(53 2D' (6
+3
(5 +(53
(5 1
#1
|
Invoking t e Procedure
#$%&
'("
)a*+
,x
)a*+-
,x
)a*+. ,^^
*
*-
("%& /
)a*+%&& 01
)a*+%&2'
|
Invoking t e Procedure
V '
# U
( V
m
# 6 2D'
)
(5 (6,7-1
(53 (6,7-1
( ,EENN+(5 +(53-1
%#1
|
Reoving t e Procedure
V )
&
;2
;2"% D;% # 5 1
V %&
# #
( 1
|
|
Module 6.2:
Stored Functions
|
Stored Function
V m # #
#
V #
(
V D #
/
6
#
V ( #
&
6 m
# #
(
|
Creting t e Functions
)
&
";%$'% 2; ;%
$"%. Dm"'2m
5
,
92 %.
5
) +
6 92 %.
5
) +
0-.
;%'D;m
5
)
I$
1
|
Return Stteent
V ;%'D;m #
5
)
6 2)
)
6 " #
)
)
6 "
) (
6 # (
! ;%'D;m ( 1
|
# # @
#
#
#
Exle
"
5& ,# m ;
(5 1
&,
(5
#
#1
;
(51
%#1
|
^
Invoking t e Function
V GH &
G)G
5&, V
, + + #
( ,6FS+
5&, -+7 -1
V
H
5&,6 -1
|
^x
Reoving t e Function
;2
Dm"'2m
5
%&
6 ;2
Dm"'2m
5&
(
#
5&
$ (
# #
#
)
#
|
#
)
# )
|
Procedures |s Functions
;2"% D;%
( #
Dm"'2m
" ( #
&
;
@ ;
(
(
2D' ;
|
^^
|
%"
5
%" D%;52D;"%
%" D%;52R%"'
%" D%;5 %
%m %m"%
%" D%;5%;;2;
^u
Module 7:
Cursors nd Dt tes
(s in 3GL)
|
'TYPE
DATA DICTIONARY
Declare
V_SAL EMP.SAL%TYPE;
DESC EMP
..
SAL NUMBER(7,2)
.
&(01,
|
'Te
V
(5 >
) 1
0
6
#
) ,
-
6 ;
#
#
) %9
6
#
) $
6 9
( (5
|
'TYPE - Exle
%&
%"$;%
( mD9%;,E+6-1
(6 ( >'T
%1
%& 6
%"$;%
>'T
%1
mD9%;,S-1
|
Exle - 1
V ;
(
)
|5 ,S-1
|5 (6,7-1
|53 (6, -1
|5 ,S-1
|5 #
#
1
|5 ,E+6-1
|5 ,E+6-1
|5# ,6-1
<
(5 +(5 +(53+(5+(5 #
+(5+
(5+(5#
00
|
u
'ROTYPE
) >
) 1
<
)
0
,)
-
0
V
# # #
( )
V '
(
) ( #
+)
|
ux
Record Te
V
V
V
V
D # #+
@ # #
)
"
"
(
"
) # # # (
# # #
)
|
u^
PL/SQL Tle
V
V
V
V
"
# #
# )
#
m
#
6 "
) # # #
|
uu
PL/SQL Tles-Exle
|
Built-in-Functions
V
#
6 "2Dm'
6 %Q',m6 ;' + $'
6 m%Q' +
;2;
6 %%'%,m-
|
V
#
# )
V ;
# (
# # #)
V
(# # #
V >;2'T
%
(# #(#
V 4
( #
|
Module 8:
Cursors
|
en nd Cursors
V
#
(
V " #
V "
)
V ' ) ) #
#
# #
6
6 $# 9
|
|
Cursor ttriutes-Ilicit
V >;2"2Dm'
6 m
# )
V >2Dm
6 ';D%
# )
6
';D% >;2"2Dm' H
V >m2'2Dm
6 ';D%
##*
# )
6
>;2"2Dm'
>#
V >2
%m
6 $) $%
#
|
Exle
# ,S-1
#GM# 1
#
#
#1
,> #-
#5
5 ,>
-1
# 1
,>
#-
#5
5 ,8 )
#
JII#-1
# 1
#1
|
Stges in Cursors
START
&
"
DECLARE CURSOR
OPEN CURSOR
""
"
NP
|
Stges in Cursors
NP
IS
EMPT
Y
NO
YES
CLOSE CURSOR
STOP
|
(
6
)
( # #
6 | # # >
)
#(#
#
|
6
';D% ># $%
V >2
%m
6
6 ';D%
$%
|
Cursor ttriutes-Exlicit
|
Cursor wit
FOR loo
6 ' #
#5(
6 ' 2
6 '
#5(
6 ' " #
#
6 ' "
|
|
Exle
" 4 ""= : "
"4 5 4,>>
"4 5 4,>)5& 5)">
"4 5 4,>>
8'4%&4
''
"4 5 4,4 6 <<>><<45
<<>>>"""><<45"
1&''
"4 5 4,>>
|
|
Exle
Begin
FOR dep_rec IN (select * from emp where deptno=10 order by sal)
LOOP
..
END LOOP;
End;
V
#
#
V m $
%&
|
Cursor wit
Preters
" 4 ,4 "
" ,= :4
44 6
4 ,
"
4 4
"4 5 4,45
"4
4 ,
"
4 4
"4 5 4,45
"4
|
Locking
V
#
( # #
V m
# # # #
V D
U2; D
$'%V
%%"'
V '
)
# # U4%;%
"D;;%m' 2 V
|
FOR UPDTE
V )
&
0
2; D
$'% 2 "2D9m. m2$'.
V
;2 # #
V 2
*
#
V %&
6 %%"' < ;29 %9
4%;% %
'm2
2; D
$'%1
|
ERE CURRENT OF
V )
&
4%;% "D;;%m' 2 1
V D # D#
M
#
V ;
)
# )
V m ##
# #
#
V %&
6 %%'% 4%;% "D;;%m' 2
)51
|
Exle
" )5
< #
2; D
$'%1
5 )5>
) 1
0
%'"4 )5 m'2
5 1
#
4%;% "D;;%m' 2 )51
00
|
Module 10:
Pckges
|
Introduction to Pckges
V :
#
#
#
3
/
V "
#
6 |
6
C
#
#
6 "
6 $#
# "
|
dvntges of Pckges
V 9#
)
6 ;
# # # #
V
6
(# #
V 3
6 " # ) )
V 9 # 2
6 #
#
)
#
|
dvntges
V %&
# #
)
6 $##
) (# #
#
V
)
6 #
# (
#
3
V : $
6 # ( )
6
V 2( #
6 #
# #
#
|
Pckges -Restrictions
V m
#
6 "
#
V
6
*
#
V "
#
)
6
# ) ( )
#
#
)
|
Pckges
V "
#
6 D
) #
6 "
# #
6
# #
J*
V "
((
6
/4 #
! # #
4$'
O
6
#)
!
#
! "
#
#
|
Pckge Secifiction
V )
&
";%$'% 2; ;%
$"%.
$"$:% 5
|
1
#
1
%m 5 .1
|
Pckge Secifiction
).
1 1?'1 1@ A 71/4
%)
|
) "
1&?/4@
1.
1 1'1 1 A 71 "4/
%)
4 "&(01*:
'1(14 ",4 &(01
1& "4/
|
Pckge Bod
|
Pckge Bod
1 1'1 1 A 71 "4/
%)
'1(14 ",4 &(01
%)
x 4"&(01
17%&
)11"
^
%&'4"
4 "
u
8'0
911 :4
4 "*:4"=5
B4 "
5
"4/54 ",u
1&
|
#
6
(
V
|
%)
4"&(01
8(&%'&4",4 &(01
x1(&&(01
%)
17%&
^)11"
u%&'4"
8'0
911 :4
1(&4"
1&
'1(11%1|14'&(),4 &(01
x%)
17%&
4 "*:4",4 =5
^1&4 "
u=1& "4/
)a+C
/ 5
|
V D # (
6 $ )
V
@
#
6
#
V
(
V |
# )
*
##
# )
|
Reoving t e Pckges
V ' #
#)
6 ;2
$"$:% 2 T 5
V ' #
#
6 ;2
$"$:% 5
V $
(
#)
&
# #)
#
V
#
#
#)
(#
|
Overloding
V 2( #
V 2( #
#
#
#
8(&%'& 4",4 &(01
1(&&(01
8(&%'& 4",4| 9
4 -
1
1(&&(01
'1(14,- | 9
'1(14,4| 9
-
| 9
|
1.
1 1'1 1 A 714/
%)
44&(01*:
'1(14"
1&4/
|
|
Exle
)a+1D1(14/54"
& 5 "
)a+%&)1%&'1| (1),x
>' ">
>&3>
)a+)11'(&,=8'01
'(&,=
x
)a+1D1(14/54"
& 5 "
|
|
Built in ckges
V 952D'
D'
V D'5%
V 95$%;'
V 952"
V 95R2
V 95%2m
|
Module 10:
Excetions
|
Introduction - Excetion
V $) #
&
%&
V ) # ;
|
Excetion Block
V )
&
0
%Q"%
'2m
4%m 5 5 &
'4%m
# C
4%m 5 5 &
6 '4%m
#
%m 1
|
Excetion
|
^
V %
6 $
)
&
6 ;2$"
V %&
4# #
6
6 (
#
6 '
&
#
6
'
#
#
|
u
Deonstrte
V 2 ( # &
#
1 1
4 10510&'631
17%&
%&)1%&'1| (1),xx
F' "F
F&3F
)11
%&'4
8'0
911:EABCF
0)4'((5(4%&1,4
1&
V
#
77
#O
|
Tes of Excetion
Exception
Pre-defined
Exception
|
Userdefined
NonPredefined
Exception
Pre-defined Excetions
V
# # &
V # # #
#
&
#
)
V D
%m%
/ #
V m #
%"$;% # m|2%
& 44
|
44 "
%4
4
44 4.
Exle
1 1
4 10510&'631
17%&
""
"!
"!
911:EABCF
0)4'((5(4%&1,4
1D1%'&
91&&'4 48'(&91&
0)4'((5(4%&1,E
1&
|
EN OTERS
V D# # &
2'4%;
)
#
1.
55
1D1%'&
55
91&'91)91&
0)4'((
(4%&1,)a'1
0)4'((
(4%&1,)a10
1&
V
&
+ #
# #
#
2'4%; # &
#
V D "2 % M %;;9
# #
|
x
V
# )
V #
6 9
|
xx
|
Exle
1 1
4 105 631
4- 105- 631
4 "1D1%'&
17%&
%8,4- :E0 & 71F &4 +x91&
%)14 "
1&%8
55
1D1%'&
91&4 "91&
5
1&
|
Non-Predefined Excetion
V m
# # )
V
#
&
#
V D
+ &
V D #
6 %"$;% # %m%
6
m|2m: #
6 D %Q%
'2m5m'
# # &
#
|
x^
Exle
1 1
G 4 "1D1%'&
70 1D1%'&4%&%, G 4 "
17%&
55
%&)1%&'1| (1),
>8>
> >
55
1D1%'&
91& G 4 "91&
0)4'((5(4%&1,> . >
1&
xu
|
Progtion -Excetion
1 1
4 10510&'631
17%&
%&)1%&'1| (1),xx
F' "F
F&3F
)11
%&'4
8'0
911:EABCF
0)4'((5(4%&1,4
1D1%'&
91&&'4 48'(&91&
0)4'((5(4%&1,E
1&
|
Progtion-Nested Blocks
1 1
17%&
5
17%&% /"
55
% /"
55
55
1D1%'&
1.
/
5
1&
|
Progtion-Nested Blocks
1 1
17%&
5
17%&% /"
55
% /"
55
55
1D1%'&
1.
/
5
1&
|
Progtion-Nested Blocks
1 1
17%&
5
17%&% /"
55
% /"
55
55
1D1%'&
1.
/
91&&'4 48'(&91&
1&
|
RE-RISE
1 1
17%&
5
17%&% /"
55
% /"
55
55
1D1%'&
1.
/
91&&'4 48'(&91&
1&
|
Module 11:
Triggers
|
t trigger is?
V
#
)
(
V "
# (
/
V :
#
)
)
V '
*
#
|
V $
#
&
#
|
Tes of Triggers
%771)
""
|
)""
%" "
Coonents of Triggers
V '
6
V ' (
6
(
#
6
#
#
V '
6 m
|
Coonents of Triggers
V '
)
6 '
&
C# #
#
6
( C
6 ; ( C # ( )
#
&
#
V
6
#
6 $ # ) ; (
V ' #)
6 %&
#
#
|
Dtse Triggers
";%$'% 2; ;%
$"%. ';::%;
5
%2;%$'%;
m%;' 2; %%'% 2;
D
$'% 2 "2D9m. .
2m
5
2"1
|
Dtse Triggers-Exle
";%$'% ';::%; 5
$'%;
D
$'% 2 $
2m %9
%:m
m%;'
2:54%,4% $'%+D%;5m$9%|$D%,T $'%+D%;-1
%m 1
|
m'2
Dtse Triggers-Exle
V 4 )
(
&
#
S )
) O
V
#
) +
6
+
6 # ) #
6
( # )O
|
6 ; (
6 # ( )
#
#) &
#
|
|
|
Requireent - Deo
V ( ) #
( # ) >
V
(
O
"4/4
"
" : =5 :* 5
|
#
(
)
#
# ) #
#
|
|
Insted of Triggers
V '
' #
(
V
#
) (
#
V :
# ) 9
# (
(
6
# #
( + #
#
6 " # #
#)
|
Sntx
";%$'% 2; ;%
$"% ';::%;
5
m'%$ 2 (
2m ( 5
1
V
(
9 (
#
#
( 5
|
Insted of trigger
";%$'% 2; ;%
$"% ';::%; ';:
m'%$ 2 m%;' 2m "%;5|%
%:m
m%;' m'2 2:,D%;5m$9%+ '%|$D%,D%;+T $'%-1
%m 1
|
^
Sste Triggers
V "# # #
(
6
! ";%$'%+ $'%; # ;2
6
(
! (
#
!
|
^x
Sntx
";%$'% 2; ;%
$"% ';::%; ' 5
%2;% I$'%;.
## (
I #
5 (
.
2mI $'$$%I ."4%9$.
4%m "D$%.
5#).
|
Exle
";%$'% ';::%;
55
$'%;
2:2m
2m "2''
4%m ,
5,T $'%+8#)8-
,88+8
8-
( , +)#
-1
#1
|
Exle-DDL triggers
";%$'% ';::%;
5##5
$'%;
";%$'% 2m
( , +)#
-1
#1
|
^^
Restrictions in Triggers
V '" #
#
6 '
*
#
6
#
V $(# #
9
|
^u
Reoving Triggers
V ;2
';::%;
5
V ;2
';::%; 5
5
1
V $'%; ';::%;
5
%m$%I $%
V $'%; '$%
5 %m$% $%
$ ';::%;
|
|
%" D%;52R%"'
%" D%;52D;"%
%" D%;5%;;2;
%" D%;5';::%;
Module 12:
Deendencies ong PL/SQL
Constructs
|
#
)
3
V # 3
# # # #
3
#
V
|
Deendencies
V
$
6
#
Dm(
;2"
6
;2"
#m2
6 9 Dm
#
##
m|$
6 $'%;Dm"'2mDm"29
%
)
6 $'%;Dm"'2m
5 "29
%
6 $'%;
;2"% D;% # 5 "29
%
6 $'%;
$"$:% 5 "29
%
$"$:%
6 $'%;
$"$:% 5 "29
%2 T
6 $'%;';::%;
5
%m$%I $%I"29
% %D:.
|
u
Deendencies - ckge
V
#) # #
#
V " #) # *
V
#
#) #
#
|
ux
# # &
# #
3
(
V # #
3
#
#
(
# # &
V
|
|
%" D%;52R%"'
%" D%;52D;"%
%" D%;5%;;2;
%" D%;5';::%;
%" D%;5 %
%m %m"%