Académique Documents
Professionnel Documents
Culture Documents
LAKHDOURA Youness
LAZAR Adnane
-creation de la base de donne :
create database TP6
6-
a/
Create procedure q6a
as
declare @a int ,@b varchar(50) ,@c varchar (50)
declare c1 cursor
for
select l.numlive,l.titrelive, e.nomedi
from livre l , editeur e
where l.numedi=e.numedi
open c1
fetch next from c1 into @a,@b,@c
while @@FETCH_STATUS=0
begin
print'le numero du livre :'+convert(varchar(20),@a)+',son titre est
:'+@b+'.Il été édité par :'+@c
fetch next from c1 into @a,@b,@c
end
close c1
deallocate c1
exec q6a
b/
create procedure q6b
as
declare @a int ,@b varchar(50) ,@c varchar (50)
declare c2 cursor
for
select l.numlive,l.titrelive, e.nomedi
from livre l , editeur e
where l.numedi=e.numedi and l.numlive not in(
select emprunt.numliv
from emprunt
)
open c2
fetch next from c2 into @a,@b,@c
while @@FETCH_STATUS=0
begin
print'le numero du livre :'+convert(varchar(20),@a)+',son titre est
:'+@b+'.Il été édité par :'+@c
fetch next from c2 into @a,@b,@c
end
close c2
deallocate c2
exec q6b
c/
as
select l.numlive,l.titrelive,a.numadh,a.nomadh, e.datemp
exec q6c
d/
create procedure q6d
as
select l.numlive,l.titrelive
from livre l
where l.nbrexemlairedisponible!=0
exec q6d
e/
procedure
as
if (select l.numlive
from livre l
where l.titrelive=@liv)
in (select e.numliv
from emprunt e
)
SET @a=1
else SET @a=0
declare @b int
exec q6e 'livre2',@b output
print @b
fonction
declare @i int
set @i=dbo.q6efun('livre2')
print @i
f/
procedure :
declare @x varchar(50)
exec q6f @x output
print @x
function :
print dbo.q6ffun()
7- TRIGGERS :
a/
create trigger trga
on livre
for insert
as
begin
declare @a int
set @a=(select inserted.nbrexemlairedisponible from inserted)
if @a<=0
begin
Raiserror('on peut pas ajouter car le nombre d''exemplaire <=
0',15,120)
Rollback
end
end
b/
c/
d/
e/
f/
g/