bd 2 l subprogram as

39
 INGENIERÍA DE SOFTWARE  BASE DE DAT OS II Subprograma PL / SQL Introducción Base de Datos II

Upload: christopher-huaman

Post on 26-Feb-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 1/39

 

INGENIERÍADE SOFTWARE

  BASE DEDATOS II

Subprograma PL / SQLIntroducción

Base de

Datos II

Page 2: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 2/39

 

INGENIERÍADE SOFTWARE

  BASE DEDATOS IICARRERA DE

INGENIERÍAINFORMÁTICA Y DE SISTEMASAgenda

● Creación de Procedimientos

● Creación de Funciones

● Creación de Paquetes

Page 3: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 3/39

 

INGENIERÍADE SOFTWARE

  BASE DEDATOS II

Introducción

● Un subprograma: – Es un bloque PL/SQL nombrado que puede aceptar  

parámetros y se le puede n!o"ar desde un entorno de

llamada – Es de dos tipos:

● Un procedimiento que reali!a una acción

● Una "unción que calcula un #alor

 – Se basa en una estructura estándar de b#o$%e PL/SQL

 – Es mod%#ar $ re%t#&ab#e$ e'tensb#e$ se puede mantener ypermite %acer el código m&s claro

Page 4: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 4/39

 

INGENIERÍADE SOFTWARE

  BASE DEDATOS II

Estructura de los Sub-ProgramasPL/SQL

 <encabezado> 

IS | AS

  Sección de declaración

BEGIN

  Sección ejecutable

EXCEPTION o!cional"

  Sección de e#ce!cione$

EN%&

Page 5: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 5/39

 

INGENIERÍADE SOFTWARE

  BASE DEDATOS II

Procedimientos

● 'Qu( es un procedimiento)

 – Un tipo de s%b(pro)rama que reali!a una acción

 – Un procedimiento se puede a#ma"enar  en la base

de datos$ como un ob*eto de# es$%ema$ parae*e"%tarse #arias #eces

Page 6: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 6/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

Sintaxis para crear Procedimientos

● La opción *EPL+CE indica que si el procedimiento e,iste$ see#mnará y ser& reemp#a&ado con la nue#a #ersión creadapor la sentencia

● Los bloques PL/SQL se inician con BEGIN o la de"#ara"+n de !arab#es #o"a#es y "inali!a con E-. o ENDnombre,pro"edmento

C'EATE (O' 'EP)ACE* P'OCE%+'E no,bre-!rocedi,iento  (!ara,etro. (,odo.* ti!odato./  !ara,etro0 (,odo0* ti!odato0/  1"*IS | ASBlo2ue P)3S4)&

Page 7: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 7/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

Parámetros formales y reales

● -arámetros .orma#es/ #ariables declaradasen la lista de par&metros de la especi"icacióndel subprograma

● -arámetros rea#es/ #ariables o e,presiones

re"erenciadas en la lista de par&metros de unallamada al subprograma

C'EATE P'OCE%+'E rai$e-$al!-id N+5BE'/ !-a,ount N+5BE'"

1

EN% rai$e-$al&

rai$e-$al6-id/ 0777"&

Page 8: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 8/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

rear Procedimientos con Parámetros

-o se le puede asignar un#alor por de"ecto

-o se le puede asignar un#alor por de"ecto

Se le puede asignar un#alor por de"ecto

.ebe ser una #ariable.ebe ser una #ariablePar&metros realespueden ser literales$e,presiones$ constantes o#ariables iniciali!adas

0ariables iniciali!adas0ariables sin iniciali!ar Par&metros "ormalesact1an con constantes

Pasado %acia el subprograma2 retornado al

entorno de llamada

*etornado al entorno dellamada

El #alor se pasa al subprograma

Se debe especi"icar Se debe especi"icar 3odo por de"ecto

I- 4U54U5I-

Page 9: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 9/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

Parámetros I!" E#emplo

C'EATE O' 'EP)ACE P'OCE%+'E rai$e-$alar8!-id IN e,!lo8ee$9e,!lo8ee-id:T;PE"

ISBEGIN

+P%ATE e,!lo8ee$

SET $alar8 $alar8 = .9.7 ?E'E e,!lo8ee-id !-id&EN% rai$e-$alar8&3

 !-id .@

 +mbiente de llamada Procedimiento raise6salary

Page 10: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 10/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

Parámetros $%&" E#emplo

C'EATE O' 'EP)ACE P'OCE%+'E 2uer8-e,! !-id IN e,!lo8ee$9e,!lo8ee-id:T;PE/ !-na,e O+T e,!lo8ee$9la$t-na,e:T;PE/ !-$alar8 O+T e,!lo8ee$9$alar8:T;PE/

 !-co,, O+T e,!lo8ee$9co,,i$$ion-!ct:T;PE"ISBEGIN  SE)ECT la$t-na,e/ $alar8/ co,,i$$ion-!ct  INTO !-na,e/ !-$alar8/ !-co,,   'O5 e,!lo8ee$  ?E'E e,!lo8ee-id !-id&EN% 2uer8-e,!&3

Page 11: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 11/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

Parámetro $%&" E#emplo

 !-id 

 !-na,e

 !-$alar8

 !-co,, 

.@.

S5IT?

@77

79.D

 +mbiente de llamada Procedimiento QUE*76E3P

Page 12: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 12/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

'er Parámetros $%&

● Cree el procedimiento QUE*76E3P

● .eclare #ariables %ost$ e8ecute elprocedimiento QUE*76E3P e imprima el

#alor en la #ariable 96-+3E

 A'IAB)E F-na,e A'C?A'00D" A'IAB)E F-$al N+5BE'  A'IAB)E F-co,, N+5BE' EXEC+TE 2uer8-e,!.@./ F-na,e/ F-$al/ F-co,,"P'INT F-na,e

Page 13: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 13/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

Parámetros I! $%&

C'EATE O' 'EP)ACE P'OCE%+'E Hor,at-!one!-!one-no IN O+T A'C?A'0"ISBEGIN

 !-!one-no JJ || S+BST'!-!one-no/./K" ||  J"J || S+BST'!-!one-no//K" ||

  JLJ || S+BST'!-!one-no/@"&EN% Hor,at-!one&3

 !-!one-noJM77KK7D@DJ JM77"KKL7D@DJ

 +mbiente de llamada Procedimiento "ormat6p%one

Page 14: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 14/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

'er Parámetros I! $%&

 A'IAB)E F-!one-no A'C?A'0.D"BEGINF-!one-no JM77KK7D@DJ&EN%&3P'INT F-!one-no

EXEC+TE Hor,at-!one F-!one-no"P'INT F-!one-no

Page 15: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 15/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

()todos para pasar Parámetros

● -os"ona#: Listar los par&metros realesen el mismo orden que los par&metros"ormales

● Nombrado: Listar los par&metros realesen cualquier orden asoci&ndoles suspar&metros correspondientes

● Combna"+n: Listar algunos de lospar&metros reales como posicionales yotros como nombrados

S

Page 16: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 16/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

$pción *E+A%L& para Parámetros

C'EATE O' 'EP)ACE P'OCE%+'E add-de!t !-na,e IN de!art,ent$9de!art,ent-na,e:T;PE

%EA+)T JunnonJ/ !-loc IN de!art,ent$9location-id:T;PE

%EA+)T .@77"ISBEGIN  INSE'TINTO de!art,ent$de!art,ent-id/

  de!art,ent-na,e/ location-id"  A)+ES de!art,ent$-$e29NEXTA)/

 !-na,e/ !-loc"&EN% add-de!t&3

BASE DE

Page 17: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 17/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

E#emplo de paso de Parámetros

BEGIN  add-de!t&  add-de!tJT'AININGJ/ 0D77"&  add-de!t!-loc > 077/ !-na,e > JE%+CATIONJ"&  add-de!t!-loc > .077"&EN%&3 

BASE DE

Page 18: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 18/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

*eclarar Sub-Programas

C'EATE O' 'EP)ACE P'OCE%+'E lea6e-e,!0!-id IN e,!lo8ee$9e,!lo8ee-id:T;PE"IS  P'OCE%+'E loF-e#ec  IS  BEGIN

  INSE'T INTO loF-table u$er-id/ loF-date"  A)+ES +SE'/ S;S%ATE"&  EN% loF-e#ec&BEGIN  %E)ETE 'O5 e,!lo8ee$  ?E'E e,!lo8ee-id !-id&

  loF-e#ec&EN% lea6e-e,!0&3

BASE DE

Page 19: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 19/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

In,ocar a un Sub-Programa desde unlo.ue PL/SQL anónimo

%EC)A'E6-id N+5BE' .K&

BEGIN

rai$e-$alar86-id"& LLin6oe !rocedureCO55IT&999

EN%&

BASE DE

Page 20: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 20/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

In,ocar a un Procedimiento desdeotro Procedimiento

C'EATE O' 'EP)ACE P'OCE%+'E !roce$$-e,!$IS  C+'SO' e,!-cur$or IS  SE)ECT e,!lo8ee-id   'O5 e,!lo8ee$&

BEGIN  O' e,!-rec IN e,!-cur$or  )OOP  rai$e-$alar8e,!-rec9e,!lo8ee-id"&  EN% )OOP&  CO55IT&

EN% !roce$$-e,!$&3

BASE DE

Page 21: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 21/39

 

INGENIERÍA

DE SOFTWARE

  BASE DEDATOS II

Eliminar Procedimientos

● Eliminar un procedimiento de la base de datos

● Sinta,is:

● E8emplo:

%'OP P'OCE%+'E nombre_procedimiento 

%'OP P'OCE%+'E rai$e-$alar8&

  BASE DE

Page 22: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 22/39

 

INGENIERÍA

DE SOFTWARE

DATOS II

+unciones almacenadas

● Una "unción es un bloque PL/SQLnombrado que retorna un #alor

Una "unción se puede a#ma"enar enla base de datos como un ob*eto dees$%ema para su e8ecución"recuente

● Una "unción es n!o"ada como partede una e,presión

  BASE DE

Page 23: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 23/39

 

INGENIERÍA

DE SOFTWARE

DATOS II

Sintaxis para crear +unciones

C'EATE (O' 'EP)ACE* +NCTION Hunction-na,e(!ara,eter. (,ode.* datat8!e./

 !ara,eter0 (,ode0* datat8!e0/9 9 9"*'ET+'N datat8!eIS|AS

P)3S4) Bloc&

  BASE DE

Page 24: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 24/39

 

INGENIERÍA

DE SOFTWARE

DATOS II

E#emplo de reación de +unciones

C'EATE O' 'EP)ACE +NCTION Fet-$al  !-id IN e,!lo8ee$9e,!lo8ee-id:T;PE"'ET+'N N+5BE' IS

  6-$alar8 e,!lo8ee$9$alar8:T;PE 7&BEGIN  SE)ECT $alar8  INTO 6-$alar8  'O5 e,!lo8ee$  ?E'E e,!lo8ee-id !-id&

  'ET+'N 6-$alar8&EN% Fet-$al&3

  BASE DEDATOS II

Page 25: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 25/39

 

INGENIERÍA

DE SOFTWARE

DATOS II

E#ecutar funciones

● In!o$%e a una "unción como partede una e'pres+n -01S20

Cree una !arab#e para a#ma"enar  el #alor  retornado

 – E8ecute la "unción La #ariable

recibir& el !a#or retornado atra#(s de una sentencia *E5U*-

  BASE DEDATOS II

Page 26: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 26/39

 

INGENIERÍA

DE SOFTWARE

DATOS II

Parámetros I! y Parámetos $%&

 A'IAB)E F-$alar8 N+5BE' 

EXEC+TE F-$alar8 Fet-$al..@"

P'INT F-$alar8

 !-id ..@

'ET+'N 6-$alar8

 +mbiente de llamada Procedimiento get6sal

  BASE DEDATOS II

' t # d + i d

Page 27: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 27/39

 

INGENIERÍA

DE SOFTWARE

DATOS II

'enta#as de usar +unciones deusuario en expresiones PL/SQL

● E'tender  SQL cuando las acti#idadessean muy comple8as$ tediosas o nodisponibles en SQL

● Puede n"rementar #a e."en"a cuandose utili!a en la cl&usula ;E*E para"iltrar los datos$ en #e! de "iltrar los datos

en la aplicación● Puede manp%#ar "adenas de

caracteres

  BASE DEDATOS II

I + i i

Page 28: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 28/39

 

INGENIERÍA

DE SOFTWARE

DATOS II

In,ocar +unciones en expresionesSQL" E#emplo

C'EATE O' 'EP)ACE +NCTION ta#!-6alue IN N+5BE'"'ET+'N N+5BE' IS

BEGIN'ET+'N !-6alue = 797M"&

EN% ta#&3SE)ECT e,!lo8ee-id/ la$t-na,e/ $alar8/ ta#$alar8"

'O5 e,!lo8ee$ ?E'E de!art,ent-id .77&

  BASE DEDATOS II

t i i l i + i

Page 29: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 29/39

 

INGENIERÍA

DE SOFTWARE

DATOS II

estricciones al in,ocar +uncionesen expresiones SQL● Para poder ser in#ocada en una e,presión

SQL$ una "unción debe:

 – Ser una "unción a#ma"enada

 –  +ceptar sólo parámetros IN –  +ceptar como par&metros sólo tpos de datos

!á#dos en S20$ no sólo en PL/SQL

 – Retornar  tpos de datos !á#dos en S20$ no tipos

que sólo sean #&lidos en PL/SQL

  BASE DEDATOS II

Page 30: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 30/39

 

INGENIERÍA

DE SOFTWARE

Sintaxis para eliminar +unciones

● Sinta,is:

● E8emplo:

 – 5odos los pr!#e)os "on"eddos sobre una"unción se re!o"an si se elimina la "unción

 – La sinta,is de C*E+5E 4* *EPL+CE esequi#alente a la sinta,is de eliminar la "unción yrecrearla Los pr!#e)os "on"eddos sobre la"unción permane"en )%a# cuando si usa esta

sinta,is

%'OP +NCTION no,bre-Huncion

%'OP +NCTION Fet-$al&

  BASE DEDATOS II

Page 31: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 31/39

 

INGENIERÍA

DE SOFTWARE

Pa.uetes

● Un paquete es un ob*eto de es$%ema quea)r%pa de "orma #+)"a: tipos$ elementos ysubprogramas relacionados de PL/SQL

Partes: – Espe"."a"+n <Speci"ication=

● Inter"a! de la aplicación$ declara tipos$#ariables$ contantes$ e,cepciones$ cursores y

subprogramas disponibles – C%erpo <>ody=

● .e"ine completamente cursores ysubprogramas$ implementa la especi"icación

  BASE DEDATOS II

Page 32: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 32/39

 

INGENIERÍA

DE SOFTWARE

rear especificaciones de pa.uetesC'EATE (O' 'EP)ACE* PACAGE !acaFe-na,e  (A+T?I% QC+''ENT-+SE' | %EINE'R*  QIS | ASR  (P'AG5A SE'IA));-'E+SAB)E&*  (collection-t8!e-deHinition 999*  (record-t8!e-deHinition 999*  ($ubt8!e-deHinition 999*  (collection-declaration 999*

  (con$tant-declaration 999*  (e#ce!tion-declaration 999*  (object-declaration 999*  (record-declaration 999*  (6ariable-declaration 999*  (cur$or-$!ec 999*

  (Hunction-$!ec 999*  (!rocedure-$!ec 999*  (call-$!ec 999*  (P'AG5A 'EST'ICT-'EE'ENCESa$$ertion$" 999*EN% (!acaFe-na,e*&

  BASE DEDATOS II

Page 33: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 33/39

 

INGENIERÍA

DE SOFTWARE

rear cuerpo de pa.uetes(C'EATE (O' 'EP)ACE* PACAGE BO%; !acaFe-na,e QIS | ASR

  (P'AG5A SE'IA));-'E+SAB)E&*  (collection-t8!e-deHinition 999*  (record-t8!e-deHinition 999*  ($ubt8!e-deHinition 999*  (collection-declaration 999*  (con$tant-declaration 999*

  (e#ce!tion-declaration 999*  (object-declaration 999*  (record-declaration 999*  (6ariable-declaration 999*  (cur$or-bod8 999*  (Hunction-$!ec 999*  (!rocedure-$!ec 999*  (call-$!ec 999*(BEGIN  $e2uence-oH-$tate,ent$*EN% (!acaFe-na,e*&*

  BASE DEDATOS II

Page 34: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 34/39

 

INGENIERÍA

DE SOFTWARE

E#emplo de especificación

C'EATE O' 'EP)ACE PACAGE e,!-action$ AS LL $!ec  T;PE E,!'ecT8! IS 'ECO'% e,!-id INT/ $alar8 'EA)"&  C+'SO' de$c-$alar8 'ET+'N E,!'ecT8!&  P'OCE%+'E ire-e,!lo8ee   ena,e A'C?A'0/  job A'C?A'0/

  ,Fr N+5BE'/  $al N+5BE'/  co,, N+5BE'/  de!tno N+5BE'"&  P'OCE%+'E Hire-e,!lo8ee e,!-id N+5BE'"&EN% e,!-action$&

  BASE DEDATOS II

Page 35: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 35/39

 

INGENIERÍA

DE SOFTWARE

E#emplo de cuerpo de pa.ueteC'EATE O' 'EP)ACE PACAGE BO%; e,!-action$ AS LL bod8

  C+'SO' de$c-$alar8 'ET+'N E,!'ecT8! IS  SE)ECT e,!no/ $al 'O5 e,! O'%E' B; $al %ESC&  P'OCE%+'E ire-e,!lo8ee   ena,e A'C?A'0/  job A'C?A'0/  ,Fr N+5BE'/  $al N+5BE'/

  co,, N+5BE'/  de!tno N+5BE'" IS  BEGIN  INSE'T INTO e,! A)+ES e,!no-$e29NEXTA)/ ena,e/ job/  ,Fr/ S;S%ATE/ $al/ co,,/ de!tno"&  EN% ire-e,!lo8ee&

  P'OCE%+'E Hire-e,!lo8ee e,!-id N+5BE'" IS  BEGIN  %E)ETE 'O5 e,! ?E'E e,!no e,!-id&  EN% Hire-e,!lo8ee&EN% e,!-action$&

  BASE DEDATOS II

0acer referencia a contenidos de

Page 36: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 36/39

 

INGENIERÍADE SOFTWARE

0acer referencia a contenidos depa.uete

 !acaFe-na,e9t8!e-na,e !acaFe-na,e9ite,-na,e !acaFe-na,e9$ub!roFra,-na,e !acaFe-na,e9call-$!ec-na,e

S4)> CA)) e,!-action$9ire-e,!lo8eeJTATEJ/ JC)E'J/ 999"&

1BEGIN  1  %B5S-O+TP+T9P+T-)INEJte ,e$$aFeJ"&  1EN%&

  BASE DEDATOS II

Page 37: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 37/39

 

INGENIERÍADE SOFTWARE

esumen

● Los subprogramas locales son programas quese de"inen dentro de la sección de declaraciónde otro programa

Los procedimientos se pueden in#ocar desdecualquier %erramienta o lengua8e que soportePL/SQL

● .eber?a estar atento del e"ecto de e,cepciones

controladas y no controladas sobretransacciones y llamadas a procedimientos

  BASE DEDATOS II

Page 38: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 38/39

 

INGENIERÍADE SOFTWARE

esumen

● Puede remo#er procedimientos de la base dedatos con el comando .*4P P*4CE.U*E

● Los procedimientos pueden ser#ir como

bloques de construcción para una aplicación● Una "unción es un bloque PL/SQL nombrado

que debe retornar un #alor

Una "unción se crea utili!ando la sinta,isC*E+5E FU-C5I4-

  BASE DEDATOS II

Page 39: Bd 2 l Subprogram As

7/25/2019 Bd 2 l Subprogram As

http://slidepdf.com/reader/full/bd-2-l-subprogram-as 39/39

 

INGENIERÍADE SOFTWARE

esumen

● Una "unción se in#oca como parte de unae,presión

● Una "unción almacenada en la base de datos

se puede utili!ar en las sentencias SQL● Una "unción se puede eliminar de la base de

datos con la sinta,is .*4P FU-C5I4-

9eneralmente$ se utili!a un procedimiento parareali!ar una acción y una "unción para calcularun #alor