Sunteți pe pagina 1din 197

PL/SQL

| 

 
   
| 

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

V     

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

 
   
| 

PL/SQL Progr Constructs


Anonymous
Block

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

 
   
| 

Glise of PL/SQL Block


 
| 
(5#  
 (  6,7-1
 
  
3
 

 (5#  

 |
 
    8"2''81
 ,(5#  
  89$m$:%;8-
 
#
 
  <7     8"2''81

#
 
  < 7     8"2''81
%#  1
%#1
| 

Lexicl Unit
V "  
 

6 $ 
 ,
   #  6 m  
6    "  
  =+>+?+
+
V " 

6 ' " 
( )  //    
 
# <0<  
   

V


6 %( ) 

 
      
#
  ,1| 

|riles
V # 
   
   (   (   
V # 
    #
 # (  


   #
  
V $
 (    
 #   #  

  # # 
V  
 (    

 

| 

Rules-Identifier
V
   #  #   # # 
  
#  #    ,  ( # #V
# 


   

V "   ( @    ##


    

6
 A  $ 
,$/B  /@6 )  =  ?  5    #
V  
# # C m  "( 


| 

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

 
  
 #

| 

Scoe & |isiilit of |riles


(In nested Blocks)
 
$  G 6 1
%:m
00
 
//   


$  G 1
 
   !
%:m
952D' D' D'5m%,$-1 // 
$
0
%m 1
//    #
"  
952D' D' D'5m%,$-1

!
%m 1

| 

LBEL << >>



HH
 
$  G 6 1
%:m
00
 
//   


$  G 1
 
%:m


952D' D' D'5m%,$ II 
$-1
0
%m 1
//    #
952D' D' D'5m%,$-1
%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 &
 
 
 &

| 

Error Reorting Functions


V %;;9
V "2 %

| 

Ot ers - Functions
V
V
V
V
V

%"2 %
:;%$'%'
%$'
m|
D%;

| 

Module 4:
SQL In PL/SQL

 
   
| 

Dt Retrievl Fro PL/SQL


V    


 

 )   #


 ( 
V  
 #
   
 ( # 


     


 

 ## # m'2
  
V     #

9+'"
 # # 

 M "  #


# 
)

| 

INTO Cluse
(Dt Fro SQL into PL/SQL)

V )
&  %%"' 

 
  
%%"'  
.
m'2 (   
.
;29
 
.
4%;% #
,- .
V  #

 (  C %%"' 

V  #
  / m'2 

| 

INTO Cluse - Exle


%"$;%
(5  (  6, -1
(5#  ,6-1
%:m
%%"'   + # 

m'2 (5  + (5#
;29 
4%;% EENN1
#5


5 ,(5  II*  
JII(5#-1
%m 1

| 

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   ,
 - #

) 
6 2#     
    


 

 #
 
 
(   

| 



DML in PL/SQL
 
(5 GEEN61
(5 5 GEENN
#
 
 (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
| 

& Sustitution |rile


V 

    #

V %& 
6 #
GM(  1
6   
<     # 
M#1
6  

 # 
(   ,M#+ M#  + M-1
V  < D     #
V 


 

  #  #
  J 

 (   #G*

| 

ost vriles
V ;  #  # (   
V D

6 GH|$; Q mD9%; //#   (  


6 GH%Q%"D'% GQG //#  

6 GH ;m' Q //  


 
V  /     

| 

^

Bind vriles - Exle


  
 
GG&1 // 
    (  
G&GG&  1 //   6
 (   &
#1
  6
 
#5


5 ,G&-1 //
 6
#1
| 

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   

 

| 

FOR LOOP - Exle


2; 
m  22
#5


5 ,
-1
%m 22 1
2; 
m ;%|%;%  22
#5


5 ,
-1
%m 22 1

| 

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

 
   
| 

Different Modes of Preters


(IN, OUT, IN OUT)

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

| 

Dt Dictionr |iews


V
V
V
V

| 

%"  # 5 


%" D%;52D;"%
%" D%;52R%"'
%" D%;5 % %m %m"%

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
;
 (5 1
%#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 & 
$  (
  
# #
#
 )

  # 



| 

Restrictions on using functions


V    
 # 
 

V # 
 ( 2D' # m 2D'   

V   
 
  ( #  
6 ;
 #

) #  
( #

)  mD9%;+ "4$;+ $'%


6 ;
 #

) # 
 

#

)   
# )  

| 

Procedures |s Functions

;2"% D;%
( # 


 

  

Dm"'2m
"   ( #   

& 

;
 @    ;
  ( 
(  

2D' ;
 

 

  


| 



^^

Dt Dictionr |iews


V
V
V
V
V

| 

%" 
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  #  #+ 
@ # #

)
 

   "
" 
  (    
"




) # #    # (  
  
   #  #  #
)

| 

Record Te - Exle


1 1
314"1'
,5631
5631
44
17%&
)11 
%&'4
8'0 
9115 :5  & :;1&'
"4  5 4,45
<<45
1&
| 

Record Te - Exle


31%)1'
, &(01,

9 &(01,

 &(01,

4 
   
17%&
4 5 *: 
4 5 *:


| 

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-

| 

dvntges-Coosite Dt tes

V  
 

   
    
 #
 # )
  
V ; 
  


 # (    
#   # # )
V (#     #  # 
V >;2'T %    
 (# #(# 
     

V 4       
 ( #  

| 

Module 8:
Cursors

 
   
| 

en nd  Cursors
V 
 
    #  


  (   
V "   #
  
V " 
  )  
 

V '  )  )   #
 
 #

   # #
6 
  

6 $# 9 

 


| 

Ilicit & Exlicit Cursors


V 
"
6 4 # # # 
 # ) 2 
6 )
 #  # 
6 9 )   #
 ) 

# 9  

V %&
"
6  # +m  # #  # )    
6 "
 # )  

| 

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

FETCH CURSOR INTO VARIABLE


F 
    

IS
EMPT
Y

NO

YES
CLOSE CURSOR
  

STOP
| 

Cursor to Record te


V 
  
 (  
6 
 
  
 #  
( 



  (   
6

) 
 (   #  #  



 
6 |      #   #  >
) 
  #(#   
  

   #

| 

Cursor to Record te


1.

" 4 "
" " 
 44 6 

5
Fetch my_cur into cur_rec;
1.

5
456
4"5"6

5
84  4 4"
| 

Exlicit Cursor ttriutes


V >;2"2Dm'
6 m   
 #   )
 
V >2Dm
6 ';D% 
 
  

  
 #
) 
V >m2'2Dm
6 ';D% 
 
  

 ##*
# )  
 #  * 
( 

6 

 ';D%  >#  $%
V >2 %m
6 
 

 
 
6 ';D%  
    
 $%

| 

Cursor ttriutes-Exlicit

| 

Cursor wit

FOR loo

V   #5(   m 5 


22
0
%m 22 1
V m  #

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,>>


| 

Su queries in FOR loo


V 2;  #5(    ,  )22
0
%m 22 1
V m  #

6 #  
  #  # (  
6 
 +
+    
)+ 

| 

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        #   

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

1 1?'1 1@ A 71'3/4


%)
  
 "   
/"   
1&?/4@

V   (    #      #   #


#  # #
 #)
V ' )   

  #) / (

| 

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  "

 1&4  "


=1&  "4/
)a+C
/ 5
| 

Referencing Pckge oects


)a*+1D1(1  "4/54  "*: 
)a*+1D1(1  "4/54  ", ^^
17%&
  "4/54  "*:

"4

 5 4,  "4/54  "

5
  "4/54  ", u
1&

| 

Pulic nd Privte Meers


 
      
  
  
6 $ #     
V    #) 
 #  
  # 
  (   +     (

6 $  ) 



 #) # 

 #  
6 (
  
V

| 

Privte Meer -Exle


1 1'1 1 A 71   "4/

%)
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
| 

Session stte -Pckge vriles

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 

| 

One tie onl Procedures

1.
1 1'1 1 A 714/
%)
44&(01*: 
'1(14"
1&4/

| 

One tie onl Procedures


1 1'1 1 A 71'34/
%)
'1(14"
%)
17%&
0)4'((5(4%&1,E& 5  "><<44
1&
17%&
7".    
"
)11'(&,=
%&'44
8'01
1&

| 

Exle
)a+1D1(14/54"
& 5  "
)a+%&)1%&'1| (1),x >' "> >&3>
)a+)11'(&,=8'01
'(&,=

x
)a+1D1(14/54"
& 5  "

| 

Coiler directives on functions


V   
   # 
(
V 4 
 

)  (  
   #


V ;$:9$;%';"'5;%%;%m"%
, 
5  +m +m +;m +;m -
6 m +m 
  


 #

#
  #   (   
6 ;m +;m 
  


  #
#
  #   (   

| 

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 $)      ( 


  & 


V %& 
  

6 m  
 & 


6 4$m %; & 
 

 
   #    
V %& 
  

 (
  

#


| 

^

Need for 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 

" 44 

 4

 44 4.

Exle
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&
| 

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

User defined Excetion

V
  # )    
V #     
6 9  

  H 7  ( #


V D   

6 %"$;%
6 %m% M
6 m|2%

| 

xx

User defined Excetion


 
  / %"$;%
6 %& 
5  %Q"% '2m1
V  %& 
  C %m%
6 4%m %& 
5  '4%m
4 # 
V  %& 
  C m|2%
6 ;$% %& 
5 
V 

| 

Exle
1 1
4 105 631
4- 105- 631
4 "1D1%'&
17%&

%8,4- :E0 & 71F &4 +x 91&
 %)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&

V ;$:9$ %Q"% '2m5m'


6 $
   U 
 
V 


# / 
V %& 
 
#   #+  # # # 
( #
| 



xu

RISE PPLICTION ERROR


V D #
 
  #  #   
5
 %)14 % %'&41',
>/ "
|  >

1'*
' 
*/ "|  

| 

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


 44 


1. ""

17%&
5
17%&% /"
55

1D1%'&1.   /


91&&'4  48'(&91&
55
1&

% /"

55
55
1D1%'&

1.  

 /

5

1&
| 

Progtion-Nested Blocks
1 1


 44 "


1. ""

17%&
5
17%&% /"
55

1D1%'&1.   /


91&&'4  48'(&91&
55
1&

% /"

55
55
1D1%'&

1.  

 /

5

1&
| 

Progtion-Nested Blocks
1 1

 44 1. 


"" /
  /"


17%&
5
17%&% /"
55

1D1%'&1.   /


91&&'4  48'(&91&
55
1&

% /"

55
55
1D1%'&

1.  

 /

91&&'4  48'(&91&

1&
| 

RE-RISE
1 1

 44 1. 


"" /
  /"


17%&
5
17%&% /"
55

1D1%'&1.   /


91&&'4  48'(&91&
 %)1
1&

% /"

55
55
1D1%'&

1.  

 /

91&&'4  48'(&91&

1&
| 

Module 11:
Triggers

 
   
| 

t  trigger is?
V   
  

  
 #

) 
  
( 

V "   
 
     #   ( 
 
    /
  
 
  

V :
  # 

 )
)
V '
  *   
#
  
  

  


| 

Need for  Trigger


V 2  
 #
  3 
   # # 

    

   
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

| 

Stteent level & Row level Trigger

#   


 
  #
6 

 
 ( 
6     

6 ;  ( 
6   # ( )  

#
 
#)  & 
#

| 

Row level Triggers

";%$'% 2; ;% $"%. ';::%;


%2;%$'%;
m%;' 2; D $'% 2; %%'%.
2m
 5 
;%%;%m"m: 2 $ # I m% $  .
2; %$"4 ;2
4%m #
.
 1

| 

Row level Triggers


";%$'%';::%; 5 5 )
$'%;
D $'%
2m%9
2;%$"4;2
%:m
m%;'m'2
2:54%5%9 ,%9 m2+ ;%|$+"D;$|$D%,G2 %9 m2+G2 $+Gm%$-1
%m 1

| 

Row level Triggers


";%$'%2;;% $"%';::%;';
$'%;
D $'%
2m%9
;%%;%m"m:2 $ ;%|$m%$"D;$
2;%$"4;2
4%m, ;%|$R28"%;8%:m
m%;'m'2
45%9 54';T,%9 m2+ ;%|$+"D;$|$D%,G ;%|$%9 m2+G ;%|$$+
G"D;$$-1
%m 1
| 

Requireent - Deo
V   (    )    #  
 ( # )  >
V 

  (
  O

 "4/4 
   " 
  

" : =5 :* 5 


| 

Muttion Errors in Triggers


V  
 #
  # 
    )   #
 

  

  
V %& 


  

  #
( 
 
)

# 

   # ) #
 #


 

| 

Row level Triggers


";%$'%';::%; 5 5 ( 
%2;%
" /  !
D $'%
2m%9
2;%$"4;2
%:m
m%;'m'2
2:54%5%9 ,%9 m2+ ;%|$+"D;$|$D%,G2 %9 m2+G2 $+Gm%$-1
Gm%"299G7 1
%m 1

| 

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
";%$'% ';::%; 

5 5

$'%;
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$% $%
$ ';::%;

| 

Dt Dictionries -Triggers


V
V
V
V

| 

%" D%;52R%"'
%" D%;52D;"%
%" D%;5%;;2;
%" D%;5';::%;

Module 12:
Deendencies ong PL/SQL
Constructs

 
   
| 

Deendnt nd Referenced Oects

   # #)  


 +
 #  #  # 

 #
 
   # )  #
6  #  #  # 
3 
C
#  # 

6 '      # 3 
C

   #
) 
  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

Direct nd Reote Deendencies

 
#  #   &
 #  # 
3 

 
    ( 
V     #  # 
3 
 

 #

#  
 (   
#  #   &

V

| 

Dt Dictionr views


V
V
V
V
V

| 

%" D%;52R%"'
%" D%;52D;"%
%" D%;5%;;2;
%" D%;5';::%;
%" D%;5 % %m %m"%

S-ar putea să vă placă și