1、create database hotelmanager /*创建数据库hotelmanager*/ go use hotelmanager go create table cusinfo /*创建数据表cusinfo*/ (dingname varchar(10) not null, cname varchar(10), cid char(18), vip char(2)) go create table ordform /*创建数据表ordform*/ (ono varchar(36) not null, cname varch
2、ar(10) not null, csex char(2), cid char(18), rid char(6) not null, rstyle varchar(10), arrivetime datetime, cno char(10) not null, dingname varchar(10), livetime char(10), dingph char(15) not null, ozt char(4)) go create table roominfo /*创建数据表roominfo*/ (rid char(6) n
3、ot null, rstyle varchar(10), kfzt char(2) not null) go create table liveorder /*创建数据表liveorder*/ (lno varchar(36) not null, rid char(6) not null, rstyle varchar(10), btime datetime not null, cno char(10), cname varchar(10) not null, etime datetime, ono varchar(36), lzt c
4、har(4) ) go create table bill /*创建数据表bill*/ (bno varchar(36) not null, rid char(6) not null, cname varchar(10), cust money, btime datetime, etime datetime, remarks varchar(40)) go create table roomsp /*创建数据表roomsp*/ (rstyle varchar(10) not null, rprice money) go create
5、 table hordform /*创建数据表hordform*/ (ono varchar(36) not null, cname varchar(10) not null, csex char(2), cid char(18), rid char(6) not null, rstyle varchar(10), arrivetime datetime, cno char(10) not null, dingname varchar(10), livetime char(10), dingph char(15) not null,
6、 ozt char(4)) go create table hliveorder /*创建数据表hliveorder*/ (lno varchar(36) not null, rid char(6) not null, rstyle varchar(10), btime datetime not null, cno char(10), cname varchar(10) not null, etime datetime, ono varchar(36), lzt char(4) ) go insert into cusinfo values('
7、mao','zcl','330227198805060071','n') insert into cusinfo values('qxb','zyy','330227198603070022','n') go insert into roominfo values('2010','s','n') insert into roominfo values('2201','s','n') insert into roominfo values('2301','s','n') insert into roominfo values('3010','s','y') insert int
8、o roominfo values('3012','s','n') insert into roominfo values('3015','s','n') insert into roominfo values('4210','d','n') insert into roominfo values('4110','d','n') insert into roominfo values('4010','d','n') insert into roominfo values('5220','d','n') insert into roominfo values('5210','d','
9、n') insert into roominfo values('5201','d','n') go insert into roomsp values('s',200) insert into roomsp values('d',300) go insert into ordform values('o0201001','zcl','f','330227198805060071','2301','s','2010-01-02','1', 'mao','1','883060089','n') go insert into liveorder values('l2010001
10、','2301','s','2010-01-02','1','zcl','2010-01-03','o0201001','n') insert into liveorder values('l2010002','3010','s','2010-01-03','1','qxb','2010-01-04','o0201002','y') insert into liveorder(lno,rid,rstyle,btime,cno,cname,ono,lzt) values('l2010003','5220','d','2010-01-09','1','myy','o0201003','y'
11、) insert into liveorder(lno,rid,rstyle,btime,cno,cname,ono,lzt) values('l2010004','5201','d','2010-01-02','2','zxx',null,'y') go insert into bill(bno,rid,cname,cust,btime) values('b2010003','5220','myy',0,'2010-01-10') insert into bill(bno,rid,cname,cust,btime) values('b2010004','5201','zxx',0,
12、'2010-01-02') go alter table cusinfo add primary key(dingname) alter table ordform add primary key(ono) alter table roominfo add primary key(rid) alter table liveorder add primary key(lno) alter table bill add primary key(bno) alter table roomsp add primary key(rstyle) go create proc ordfor
13、mproc @lno varchar(36) /*保存入住单*/ as begin tran update roominfo set kfzt='y' from roominfo,liveorder where liveorder.rid=roominfo.rid and liveorder.lno=@lno /*修改客房信息*/ update ordform set ozt='y' from ordform,liveorder where liveorder.ono=ordform.ono and liveorder.lno=@lno /*修改预订单信息*/ i
14、nsert into hordform select * from ordform where ozt='y' /*将已入住的预订单放入历史*/ delete from ordform where ozt='y' /*清除已入住预订单*/ commit go select * from roominfo select * from ordform go exec ordformproc 'l2010001' exec ordformproc 'l2010004' select * from roominfo select * from ordform go cr
15、eate proc liveorderproc @lno varchar(36) /*收银退房*/ as begin tran update liveorder set etime=getdate(),lzt='n' where lno=@lno update roominfo set kfzt='n' from roominfo,liveorder where roominfo.rid=liveorder.rid and liveorder.lno=@lno /*修改客房状态*/ insert into hliveorder select * from liveorder
16、 where lno=@lno /*导入历史*/ delete from liveorder where lno=@lno /*清除入住单*/ commit go select * from liveorder select * from hliveorder go exec liveorderproc 'l2010004' go select * from liveorder select * from hliveorder select *from roominfo where rid='5201' go create proc billproc @lno
17、varchar(36) /*计算应收款*/ as begin tran declare @total money declare @datecount int update liveorder set etime=getdate() where lno=@lno /*设置离店时间*/ select @datecount=datediff(dd,btime,getdate()) from liveorder where lno=@lno /*计算住店天数*/ select @total=0 select @total=@datecount*(isnull(rprice,0)
18、) from liveorder,bill,roomsp where bill.rid=liveorder.rid and liveorder.rstyle=roomsp.rstyle and lno=@lno /*计算住店金额*/ update bill set etime=getdate(),cust=@total from bill,liveorder where bill.rid=liveorder.rid and lno=@lno /*修改账单*/ commit go select * from liveorder select * from bill go exec billproc 'l2010004' go select * from liveorder select * from bill






