实现退房登记,并应修改客房的状态信息(占用用‘1’表示,空房用‘0’表示),退房时要求根据入住日期和当前日期自动计算入住天数和应交房费,并将收入自动插入住房收入登记表中(要求用触发器实现)我只是回查询出入住的天数select datediff(dd,入住日期,退房日期) from tuifang
但是我不知道如何插入函数来计算入住的天数和价格的乘积。并自动插入另外一张表中。。求高手怎么实现。
但是我不知道如何插入函数来计算入住的天数和价格的乘积。并自动插入另外一张表中。。求高手怎么实现。
名字 char(20),
客房号 int not null primary key,
入住日期 datetime,
退房日期 datetime,
状态 int not null check(状态=0)
)
create trigger trig3 on tuifang
for insert,update,delete
as
select * from tuifang
go
insert tuifang values('李名','101','1985-8-8','1985-9-10','0')
insert tuifang values('张三','102','1985-1-1','1986-1-1','0')
这是退房的数据。。求教
for insert,update,delete
as
insert ta(天数,房价)
select (datediff(day,t.入住日期,t.退房日期)+1)*60.00--应该有一个房价表
from tuifang t inner join inserted i on t.名字=i.名字 and t.客房号=i.客房号
where 名字=ta.名字
tuifang应有数据才对
这个是:create table ruzhu(
名字 char(20),
客房号 int not null primary key,
入住日期 datetime,
状态 int not null check(状态=1)
)
create trigger trig2 on ruzhu
for insert,update,delete
as
select * from ruzhu
go
insert ruzhu values('李名','101','1985-8-8','1')
insert ruzhu values('李大','102','1985-8-8','1')
update ruzhu set 名字='张三' where 客房号=102
名字 char(20),
客房号 int not null primary key,
入住日期 datetime,
退房日期 datetime,
状态 int not null check(状态=0)
)
create table ta(天数 int,房价 decimal(15,2))create trigger trig3 on tuifang
for insert,update,delete
as
insert ta(天数,房价)
select (datediff(day,i.入住日期,i.退房日期)+1),(datediff(day,i.入住日期,i.退房日期)+1)*60.00--应该有一个房价表
from inserted i go
insert tuifang values('李名','101','1985-8-8','1985-9-10','0')
insert tuifang values('张三','102','1985-1-1','1986-1-1','0')
select * from ta
天数 房价
----------- -----------------
34 2040.00
366 21960.00(所影响的行数为 2 行)按照楼主的数据一次插入入住与退房时间。好像不合常理
插入、更新、删除都触发触发器这样是不行了
楼主把关连的几个表的结构贴出来