Академический Документы
Профессиональный Документы
Культура Документы
PL/SQL
INSTRUCTOR: GEOVANNY CUDCO
Qu es PL/SQL?
"@
I8 $"nd%$%&n T6EN
(l",ue de %ns'!u$$%"nesF
JELSI8 $"nd%$%&n T6EN
(l",ue de %ns'!u$$%"nesFK
)))
JELSE
(l",ue de %ns'!u$$%"nesFK
END I8F
22/3/24 22
"& A T;EN
Se e-alAa la $"nd%$%&n + s% !esul'a Berdadera* se eje$u'an
un" " #5s l.neas de $&d%g" de !"g!a#a) En el $as" de ,ue la
$"nd%$%&n !esul'e @alsa o nula* NO se !eal%9a NINGUNA
a$$%&n)
E?em'lo*
"& @ec=aCnac 3+ DE-FE-EGHFD T;EN
Salario *+ salario .E>EI:
EN# "&:
22/3/24 23
"@ anidados
I8 :e$<aIna$ Pl'F Q2>G2>2NDGR T6EN
I8 aell%d" LQMa!'.ne9R T6EN
sala!%":L sala!%" ;2)2?F
END I8F
END I8F
22/3/24 2=
"& A T;EN A ELSE
"& @ec=aCnac 3+ JE-FE-
EGHFJ T;EN
salario*+ salario .E>EI:
ELSE
salario*+ salario. E>FI:
EN# "&:
Se e-alAa la $"nd%$%&n + s%
!esul'a Berdadera* se eje$u'an
un" " #5s l.neas de $&d%g" de
!"g!a#a)
En el $as" de ,ue la $"nd%$%&n
!esul'e @alsa* se eje$u'an las
%ns'!u$$%"nes ,ue s%guen a la
%ns'!u$$%&n ELSE)
S&l" se e!#%'e una %ns'!u$$%&n
ELSE en $ada %ns'!u$$%&n I8)
22/3/24 24
"& A T;EN A ELS"&
I8 aell%d" LMPB!e9M T6EN
sala!%":L sala!%" ;2)2GF
ELSI8 aell%d" LQMa!'.ne9R T6EN
sala!%":L sala!%" ;2)2?F
ELSI8 aell%d"LQAl-a!e9R T6EN
sala!%":L sala!%" ;2)3GF
ELSE
sala!%":L sala!%"; 2)G?F
END I8F
Se e-alAa la $"nd%$%&n + s%
!esul'a Berdadera* se
eje$u'an un" " #5s l.neas
de $&d%g" de !"g!a#a)
En el $as" de ,ue la
$"nd%$%&n !esul'e se! @alsa*
se e-alAa la $"nd%$%&n
ese$%@$ada en el ELSI8)
22/3/24 2?
CSE
La %ns'!u$$%&n CASE uede
e-alua! #Al'%les e1!es%"nes
+ de-"l-e! a!a $ada una de
ellas un -al"!//l",ue de
%ns'!u$$%"nes)
El !esul'ad" de $ada S6EN
uede se! un -al"! " una
sen'en$%a* en el !%#e! $as" el
!esul'ad" de una sen'en$%a
CASE se uede gua!da! en una
-a!%a/le)
CASE -a!%a/le
S6EN e1!es%&n2 T6EN -al"!2//l",ue de
%ns'!u$$%"nes
S6EN e1!es%&n3 T6EN -al"!3//l",ue de
%ns'!u$$%"nes
S6EN e1!es%&n= T6EN -al"!=//l",ue de
%ns'!u$$%"nes
S6EN e1!es%&n4 T6EN -al"!4//l",ue de
%ns'!u$$%"nes
ELSE -al"!?//l",ue de %ns'!u$$%"nes
END
22/3/24 2C
E?em'lo de Case
22/3/24 2D
Estructura de un 'rograma
en PL/SQL
#ECL!E
/; >> Se$$%&n de$la!a'%-a: -a!%a/les* '%"s* + su/!"g!a#as l"$ales) >> ;/
(EK"N
/; >> Se$$%&n eje$u'a/le: !"$ed%#%en'" + sen'en$%as SQL a,u.) >> ;/
/; >> Es'a es la An%$a se$$%&n del /l",ue ,ue es "/l%ga'"!%a) >> ;/
ELCEPT"ON
/; >> Se$$%&n de #anej" de e1$e$%"nes: sen'en$%as a!a el #anej" de e!!"!es a,u.)
;/
EN#:
>
run:
22/3/24 2H
E?em'lo*
SET SERVEROUTPUT ON
DECLARE
n"#/!e -a!$<a!37?G)F
(EGIN
N"#/!e:LQge"-ann+QF
d/#sI"u'u')u'Il%ne7Q6"laRTTn"#/!e)F
END
22/3/24 2N
(5CLES
En PL/SQL 'ene#"s a nues'!a d%s"s%$%&n l"s s%gu%en'es
%'e!ad"!es " /u$les:
LOOP
S6ILE
8OR
22/3/24 3G
LOOP
El /u$le LOOP1 se !e%'e 'an'as -e$es $"#" sea ne$esa!%" <as'a ,ue se :ue!9a su
sal%da $"n la %ns'!u$$%&n EL"T>
Su s%n'a1%s es la s%gu%en'e:
LOOP
-- Instrucciones
IF (expresion) THEN
-- Instrucciones
EXIT;
END IF;
END LOOP;
22/3/24 32
DECLARE
-I$"n'ad"! nu#/e!:L2F
(EGIN
l""
d/#sI"u'u')u'Il%ne7-I$"n'ad"!)F
-I$"n'ad"!:L-I$"n'ad"!U2F
e1%' V<en -I$"n'ad"!L?F
end l""F
ENDF
22/3/24 33
M;"LE
El /u$le M;"LE* se !e%'e #%en'!as ,ue se $u#la
e1!es%&n)
M;"LE 7e1!es%"n) LOOP
>> Ins'!u$$%"nes
END LOOPF
22/3/24 3=
DECLARE
M NUM(ER :L 2F
(EGIN
S6ILE M W C LOOP
D(MSIOUTPUT)PUTILINE7MM L MTTM)F
M :L M U 2F
END LOOPF
ENDF
22/3/24 34
El /u$le &O!* se !e%'e 'an'a -e$es $"#" le %nd%,ue#"s en l"s
%den'%@$ad"!es inicio + fnal.
8OR $"n'ad"! IN %n%$%"))@nal LOOP
>> Ins'!u$$%"nes
END LOOPF
22/3/24 3?
DECLARE
nu#e!" nu#/e!73):L?F
!"du$'" nu#/e!73):L2F
(EGIN
8OR % %n 2))2G LOOP
!"du$'":L nu#e!" ; %F
d/#sI"u'u')u'Il%ne7!"du$'")F
END LOOPF
ENDF
22/3/24 3C
C5!SO!ES
,eclaraci$n 'CURSOR)
-pertura 'OPEN)
E(tracci$n 'FETCH)
Cierre 'CLOSE)
22/3/24 =G
S"NTL"S