标题:如何写
只看楼主
wsq1168
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2007-8-24
 问题点数:0 回复次数:5 
如何写
这两个表如何写触发器
当借阅发生时,在书的信息表里的现存量自动减1,用触发器如何实现
create table  bookborrow--借阅图书
(
    bookborrow_id int primary key,
    book_ISDN char(20) ,--书编号
    member_id char(10) ,--会员编号   
    book_borrowdate smalldatetime,--借书日
    book_maturedate smalldatetime,--到期日
    book_num smallint,--借书数量
   
)

create table bookinformation--书的信息
(
    book_ISDN  nvarchar(50) primary key ,--书ISDN  
    book_name nvarchar(50)not null,--书名
  bookclass_id int not null,--数类别
    book_writer nvarchar(20)not null,--书作者   
    bookpublish_time datetime not null,--书发行时间
    bookpublisher nvarchar(20),--书发行者,
    book_money money not null,--书的价格
    book_amount smallint,--库存总量
    book_residual smallint,--现存量
    book_information ntext,--书的信息
   
)
搜索更多相关主题的帖子: 触发器 primary create null 
2007-12-12 21:03
guoxhvip
Rank: 8Rank: 8
来 自:聖西羅南看臺
等 级:贵宾
威 望:44
帖 子:4052
专家分:135
注 册:2006-10-8
得分:0 
楼主没学过触发器?

愛生活 && 愛編程
2007-12-12 21:23
梦心
Rank: 4
来 自:福建平和
等 级:贵宾
威 望:13
帖 子:1910
专家分:0
注 册:2007-5-11
得分:0 
......
对触发器也不太了解

我清高和我骄傲的倔强,在风中大声的唱:我不听,我不听~~做我自己最特别,呼呼~~啦啦~~~
我的博客园地址: [url]http://[/url]
2007-12-12 22:01
guoxhvip
Rank: 8Rank: 8
来 自:聖西羅南看臺
等 级:贵宾
威 望:44
帖 子:4052
专家分:135
注 册:2006-10-8
得分:0 
不知道你需要的是sql server的触发器还是oracle的触发器 还是其他数据库的?

愛生活 && 愛編程
2007-12-12 23:09
wsq1168
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2007-8-24
得分:0 
sql的
sql的
2007-12-13 07:33
guoxhvip
Rank: 8Rank: 8
来 自:聖西羅南看臺
等 级:贵宾
威 望:44
帖 子:4052
专家分:135
注 册:2006-10-8
得分:0 
create trigger insert_bookborrow
    on bookborrow
        for insert
        as
            declare @book_id int
            select @book_id = book_ISDN from inserted
            update  bookinformation set book_residual = book_residual - 1 where book_ISDN = @book_id
go

不过感觉不是减1 而是减去借书数量 如下面
create trigger insert_bookborrow
    on bookborrow
        for insert
        as
            declare @book_id int,@book_count int
            select @book_id = book_ISDN,@book_count = book_num from inserted
            update  bookinformation set book_residual = book_residual - @book_count where book_ISDN = @book_id
go
中间还应该有一系列逻辑判断 比如说库存<借书数量 就不能再借 应该提示 这个LZ自己去做吧

愛生活 && 愛編程
2007-12-13 16:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-192127-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036195 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved