Facultatea Calculatoare, Informatic i Microelectronic Catedra Automatic i Tehnologii Informa ionale RAPORT Disciplina: a!e de date i cuno tin e "ucrare de laborator #r$ % b Tema: Crearea i folosirea declan atoarelor A efectuat & studentul grupei TI'()* "a!ari Mihai A verificat& lector superior +aranciuc ,orian Chi inu *)(* 1 Scopul lucrrii +copul lucrrii const -n formarea unor abilit.i practice privind& ,eclan atoarele de tip ,M", ,"" i "/0/#1 +tructura declan atoarelor1 Crearea i e2ecutarea declan atoarelor$ 2 Sarcinile i rezolvrile lor 3$ + se cree!e un declan ator ,," care ar inter!ice modificarea coloanei Model -n tabelele ba!ei de date calculatoare cu afi area mesa4ului respectiv$ * /bservm c modificarea coloanei Model este inter!is, dar nu i a altor coloane, cum ar fi Ram$ 5$ + se cree!e un declan ator ,," care ar inter!ice modificarea schemei ba!ei de date -n afara orelor de lucru$ 6 7$ + se cree!e un declan ator ,," care, la modificarea propriet ilor coloanei Pret dintr'un tabel, ar face schimbri asemntoare -n mod automat -n restul tabelelor$ USE CalculatoareMihai; GO IF EXISTS (SELECT 1 FROM sys.triggers !ERE "are#t$class%& '() #a*e%+*o,i-icare$"ret+. )RO/ TRIGGER *o,i-icare$"ret O( )'T'0'SE; GO CRE'TE TRIGGER *o,i-icare$"ret O( )'T'0'SE FOR 'LTER$T'0LE 'S 0EGI( )ECL'RE 1(u*eSche*a 2'RC!'R(*a3.; )ECL'RE 1(u*eTa4el 2'RC!'R(*a3.; )ECL'RE 1Coloa#aMo,i-icata 2'RC!'R(*a3.; )ECL'RE 1Co*a#,a (2'RC!'R(*a3.; )ECL'RE 1Co*a#,aCo#creta (2'RC!'R(*a3.; SET 1(u*eSche*a % (SELECT E2E(T)'T'(..5alue( +(6E2E(T$I(ST'(CE6Sche*a(a*e.718+9+5archar(*a3.+..; SET 1(u*eTa4el % (SELECT E2E(T)'T'(..5alue( +(6E2E(T$I(ST'(CE6O4:ect(a*e.718+9+5archar(*a3.+..; SET 1Coloa#aMo,i-icata % (SELECT E2E(T)'T'(..5alue( +(6E2E(T$I(ST'(CE6'lterTa4le'ctio#List6'lter6Colu*#s6(a*e. 718+9+5archar(*a3.+..; IF 1Coloa#aMo,i-icata % +/ret+ 0EGI( SET 1Co*a#,a % (SELECT E2E(T)'T'(..5alue( +(6E2E(T$I(ST'(CE6TS;LCo**a#,6Co**a#,Te3t.718+9+#5archar(*a3.+..; SET 1Co*a#,a % RE/L'CE(1Co*a#,a9 1(u*eSche*a < +.+ < 1(u*eTa4el9 +1#u*e$ta4+.; IF 1(u*eTa4el=>+"c$uri+ 0EGI( SET 1Co*a#,aCo#creta % RE/L'CE(1Co*a#,a9 +1#u*e$ta4+9 +"c$la"to"."c$uri+.; EXEC(1Co*a#,aCo#creta.; E() IF 1(u*eTa4el=>+la"to"$uri+ 0EGI( SET 1Co*a#,aCo#creta % RE/L'CE(1Co*a#,a9 +1#u*e$ta4+9 +"c$la"to".la"to"$uri+.; EXEC(1Co*a#,aCo#creta.; E() IF 1(u*eTa4el=>+i*"ri*a#te+ 0EGI( SET 1Co*a#,aCo#creta % RE/L'CE(1Co*a#,a9 +1#u*e$ta4+9 +co"iatoare.i*"ri*a#te+.; EXEC(1Co*a#,aCo#creta.; E() E() E() 3 Concluzii "a aceast lucrare de laborator am studiat declan atoarele ,,"$ Am aflat cum putem ob ine informa ii despre evenimentul care a produs e2ecutarea declan atorului cu a4utorul func iei E8E#T,ATA9:$ Re!ultatul acestei func iei este un te2t 2ml din care putem e2trage valorile dorite cu a4utorul func iei value9:$ 5