Sql Bai1 Quan Li Ban Hang
create database bai4create table sv(Masv char(10) primary key,Tensv nvarchar(30) not null,NS datetime,Diachi nvarchar(30))create table dt(Madt char(10) primary key,Tendt nvarchar(30) not null,GVHD nvarchar(30))create table sv_dt(Madt char(10) not null,Masv char(10) not null,NTT nvarchar(30),KQ float not null,constraint khoachinh primary key (Madt,Masv),constraint kn1 foreign key(Masv)references sv(Masv),constraint kn2 foreign key(Madt)references dt(Madt))create view v1asselect sv.*from sv,sv_dtwhere sv.Masv=sv_dt.Masv and Diachi=NTTcreate view v2asselect *from svwhere Masv in (select Masv from sv_dt where KQ =(select max(KQ) from sv_dt))create view v3asselect GVHD,count(Masv) as sosvfrom dt,sv_dtwhere dt.Madt=sv_dt.Madtgroup by GVHDcreate proc t1@GVHD nvarchar(30)asselect sv.*from svwhere Masv in (select Masv from sv_dt where Madt in(select Madt from dt where GVHD=@GVHD))exec t1 N'trần thị lan phương'create proc t2@NTT nvarchar(30)asselect *from svwhere Masv in(select Masv from sv_dt where NTT=@NTT)exec t2 N'thái nguyên'create proc t3asselect *from dtwhere Madt not in(select Madt from sv_dt)exec t3create trigger kt1on sv_dtfor insertasif (select KQ from inserted)<0 beginprint N'dữ liệu nhập không hợp lệ'rollback tranendelse print N'dữ liệu nhập thành công'insert into sv_dtvalues ('3','a1',N'thái nguyên',-2)declare nhap cursorfor select * from sv where Masv in(select Masv from sv_dt where KQ<5)declare @Masv char(10),@tensv nvarchar(30),@NS datetime,@Diachi nvarchar(30)open nhapprint cast(N'Mã SV' as nchar(10))+cast(N'Họ tên' as nchar(30))+cast(N'Năm sinh' as nchar(20))+cast(N'Giới tính' as nchar(10))+cast(N'mã lớp' as nchar(10))+cast(N'Mã tỉnh' as nchar(10))+cast('DTB' as nchar(10))fetch next from nhapinto @Masv,@tensv,@NS,@Diachiwhile @@fetch_status=0beginprint cast(@Masv as nchar(10))+cast(@tensv as nchar(30))+cast(@NS as nchar(20))+cast(@Diachi as nchar(30))fetch next from nhapinto @Masv,@tensv,@NS,@Diachiendclose nhapdeclare nhap1 cursorfor select * from dt where Madt in(select Madt from sv_dt where KQ=(select max(KQ) from sv_dt))declare @Madt char(10),@tendt nvarchar(30),@GVHD nvarchar(30)open nhap1print cast(N'Mã DT' as nchar(10))+cast(N'Tên DT' as nchar(30))+cast(N'GVHD' as nchar(30))fetch next from nhap1into @Madt,@tendt,@GVHDwhile @@fetch_status=0beginprint cast(@Madt as nchar(10))+cast(@tendt as nchar(30))+cast(@GVHD as nchar(30))fetch next from nhap1into @Madt,@tendt,@GVHDendclose nhap1
Bạn đang đọc truyện trên: ZingTruyen.Xyz