Sunteți pe pagina 1din 1

C:\Users\40744\Desktop\Seminar 4.

sql 1
--select * from vanzatori

--Restrictie: salariul de incadrare trebuie sa fie obligatoriu intre 999 si 2500

--alter table vanzatori


--add constraint salariuincadrareobl check (salariuincadrare >99 and salariuincadrare <2500)

--Restrictie: CNP vanzator trebuie sa fie de fix 13 caractere

--alter table vanzatori


--add constraint VerificaCNP check(len(cnpvanzator)=13)

--Restrictie: Sa nu se poata sterge vanzatorii cu salarii mai mici de 1250

--create trigger NuSterge on vanzatori


--for delete
--as if exists(select*from vanzatori where salariuincadrare<1250)
--begin
--raiserror('Nu se pot sterge vanzatorii cu salarii mai mici de 1250',1,1)
--rollback transaction
--end

--delete from vanzatori where nume='ion'

--Din tabelul plati nu se pot sterge platile cu card daca suma > 500

--create trigger NuStergeCarduri on plati


--for delete
--as
--if exists(select*from plati where tipplata='card' and sumaplatita>500)
--begin
--raiserror('Nu se pot sterge platile efectuate cu cardul cu suma mai mare de 500',1,1)
--rollback transaction
--end

--Realizati un trigger care sa nu permita micsorarea sumelor pentru platile cu card.

--create trigger NuSePotMicsoraSume on plati


--for update
--as
--if exists(select * from deleted inner join inserted on deleted.idplata=inserted.idplata
-- where inserted.tipplata = 'card' and deleted.sumaplatita>inserted.sumaplatita)
-- begin
-- raiserror ('Nu se poate micsora suma platilor efectuate cu cardu',1,1)
--rollback transaction
--end

--Creati un trigger astfel incat in momentul stergerii unei plati, valorile pt idplata, tip plata si suma
platita sa se inregistreze intr-un tabel numit arhiva plati

--create table Arhiva_plati (IdPlata int primary key, TipPlata nvarchar(255), SumaPlatita money)

--Create trigger MutaPlataInArhiva on plati for delete


--as insert into arhiva_plati select IdPlata, TipPlata, SumaPlatita from deleted

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