ra c le D a t a b a se 1 0 g : Pro O ra Pro g ra m wi with th PL PL// SQ L
Práctica 6. Los e je rc ic ios de b e n re re a liza rse c on e l m ismo usua rio c on los qu e se ha n re re a liza d o la la s p rá c tic a s a n te ri rio o re s. 1. Esc rib e un b loq ue P L/ SQ SQ L q ue d e sp lie gu e inf nfor or m a c ión p a ra un p a ís d a d o. a . De c la re un rree g ist rro o PL/ SQ SQ L b a sa d o e n llaa e st rruc uc t ura ura d e la t a b la c ou o u n t r i e s . b . Use e l c om a nd o DEF DEFINE p a ra d e fini nirr la va ria b le c o ou u n t r y i d . Así Asíg ne le va lo r ‘CA’. Pa se e l va lor d e la va ria b le a l b loq ue a t rraa vé s de una va ria b le d e sust ust itit uc ión. c . En llaa se c c ión d e c la ra ti tiva va use e l a tr triib uto %ROWTYPE y d e c la re la va ria b le c ou o u n t r y _ r e c o r d d d d e t ip ip o c ou ou n t r i e s . d . En la la se c c ió n d e e je c u c ió n , rree c u p e re t o d o s lo s d a t o s d e u n re re g is ist ro ro d e la t a b la la co ou u n t r i e s u ssaa n d o c ou o u n t r y i d . De De sp lie g ue la inf nfo o rma c ión sob re e l p a ís. E Ejje mp lo d e sa lid a .
e . Pa ra p ro b a r e l b lo q ue e je c ute e l b lo q ue PL/ SQL p a ra lo s pa íse s c o n ID ID D DE E, U UK K, US US. 2. C re re e u n b llo o q u e P L/ S SQ Q L p a ra re c u p e ra r e l n o m b re r e d e a lg u n o s d e p a rt a m e n t o s d e la t a b la d e pa p a r t me n t s e im im p rim e c a d a n o m b re d e d e p a rt a m e n t o e n llaa p a n t a ll lla , ha c ie nd a uso uso d e una t a b la INDEX BY t a b le . G ua rd e e l sc rip t c o n e l nom b re la b _06_02_soln.sql. _06_02_soln.sql. a . De c la re un a ta b la IND NDE EX BY d e pt p t _ t a bl b l e _t _ t y p ee d d e t ip ip o d e p a r t me n t s . d e p a r t me n t _ n naa m mee . De c la re una va ria b le my_dept_table d e t ip ip o
dept_table_type p a ra a lm a c e n a r t e m p o ra ra lm e n te t e e l n o m b re d e lo s departamentos. b . Dec la re d os v vaa ria b le s: loop_count y y deptno d e tip tip o NUMB NUMBE ER. Así Asíg ne le a y 0 a deptno . loop_count y c . Use u n b u c le p a ra re c ib ir e l n o m b re r e d e 1 0 d e p a rt a m e n t o s y a llm m a c e n a r lo s nom b re s e n la t a b la INDEX BY. C om ie nc e c on d e p a rt m e nt _ _iid 10. Inc re m e nt e
deptno d e 1 0 e n 1 0 p o r c a d a it e ra ra c ió n . L Laa sig u iiee n t e t a b la la p rree se n t a e l d e p a rt m e n t _ _iid y ssu u rree sp e c t iv iv o n o m b re a se r re c u p e ra d o y a llm m a c e n a d o e n llaa ta b la INDEX NDEX BY.
Práá c t ic Pr ic a 6
1
2008 2008
ra c le D a t a b a se 1 0 g : Pro O ra Pro g ra m wi with th PL PL// SQ L DEPARTMENT_ID
DEPARTMENT_NAME
10
Ad Ad mi n i s t r a t i o n
20
Ma r k e t i n g
30
Pu Pu r c h a s i n g
40
Hu m maa n Re s o u r c e s
50
Sh Sh i p p i n g
60
IT
70 80
Pu b bll i c Re l a t i o n nss Sa Sa l e s
90
Ex Ex e c u t i v e
100
Fina nce
d . Use o t rro o b u c le p a ra re c u p e ra r e l n o m b re d e lo s d e p a rt a m e n t o s d e la la t a b la INDEX NDEX BY y d e sp lié g u e lo s. e . Eje c ute y gua rd e e l sc rip t c on e l no mb re la b _06_ 06_02_ 02_sso ln.s n.sq q l. U Un n e je mp lo d e la sa lid a a c ont inua inua c ión :
3. Mo d ifiq u e e l b llo o q u e c re a d o e n e l e je rc ic io 2 p a ra q u e p u e d a re c u p e ra r t o d a la in ffo o rrm m a c iió ó n d e c a d a d e p a rt a m e n to t o d e la t a b la la d e pa p a r t me n t s y d e sp lié g ue la . U Ussa r un a ta b la d e re g istr stro o s IIND NDE EX BY. a . Ca rg ue e l sc rip t llaa b _06_02_ 06_02_sso ln.sq n.sq l. b . Se ha d e c la ra d o un a ta b la INDEX DEX BY d e tip tip o d e p a r t me n t s . d e p a r t me n t _ n a me . Mo d ific a r la d e c la ra c ió n d e la t a b la p a ra a lm a c e n a r t e m p o ra lm e n t e e l núm e ro, nom b re s y ubic ubic a c ión d e los de p a rt a m e nt os . Usa r e l a t ri rib ut o %RO WT WTY YPE. c . Mod ific a r la se nt e nc ia SELEC T p a ra re c up e ra r t od a la infor nform m a c ión q ue se e n c u e n t ra ra a c t u a llm m e n te t e e n la t a b llaa d e pa p a r t me n t s y la a lm a c e n a d a e n la la t a b la la INDEX BY. d . Usa r ot ro ro b uc le , re c up e ra r la infor nform m a c ión d e d e p a rt a m e nt os d e la t a b la INDEX BY y de sp lié g ue la . U Un n e je mp lo d e sa lid a .
Práá c t ic Pr ic a 6
2
2008 2008
ra c le D a t a b a se 1 0 g : Pro O ra Pro g ra m wi with th PL PL// SQ L
4. Ca rg ue e l scrip scrip t llaa b _05_03_ 05_03_sol soln.s n.sq q l. a . Bu sq u e e l c o m e n ta ri rio o “DEC LARE AN INDEX INDEX BY TABL ABLE O F TYPE VARC VARC HAR2(5 HAR2(5 0) . CALL CAL L ITe na m e _t _taa b le _type ” - (De c lare una tabla tabla INDEX BY BY de tipo tipo
VA RC HAR2(50) y ll llámela e name_table_ name_table_type type ) - e inc luya la d e c la ra c ión . b . Busq ue e l c o m e nt a rio “DE “DEC C LAR ARE E A VAR VARIIABL ABLE e na m e _ta b le O F TYPE e n a m e _t a b le le _t yp yp e ” - (De c lare una va riab riab le e name_table name_table de tipo tipo
ename_table_type ) - e inc luya la d e c la ra c ión. c . Gu a rd e e l sc rip t c o n e l no mb re la b _06_ 06_04_ 04_ssoln.s oln.sq q l.
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.