★关于MS-SQL触发器的问题

thhui 2007-12-18 09:41:43
表 Operatorlog :

logid category
1 登录
2 注销
3 登录
4 注销
(自动递增)
每当登录某个程序,这个表会自动生成两条记录。
我现在要写触发器,在 logid 最大时执行。


create trigger insert_end on operatorlog
for insert,update,delete
as
.
.
.
...全文
85 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
thhui 2007-12-18
  • 打赏
  • 举报
回复

ALTER trigger insert_end on operatorlog
for insert,update,delete
as

if exists(select * from operatorlog where logid=(select max(logid) from operatorlog) and category='注销')
begin
end



自己解决!!
thhui 2007-12-18
  • 打赏
  • 举报
回复
if @logid = 4

但我在运行程序时,最大值会变化的!!!
arrow_gx 2007-12-18
  • 打赏
  • 举报
回复


create trigger insert_end on operatorlog
for insert,update,delete
as
DECLARE @logid int
select @logid=inserted.logid
if @logid=4
begin
--这里插入你的代码
end
thhui 2007-12-18
  • 打赏
  • 举报
回复
您理解错啦,

我只要那个判断条件怎么写??
下面要做的事我写了。
LutzMark 2007-12-18
  • 打赏
  • 举报
回复
将 logid 定义为自增列
CREATE TRIGGER insert_end
ON operatorlog
for insert, update,delete
AS
DECLARE @logid int
select @logid =i.logid ,
@dlogid =d.logid ,
from operatorlog o
inner join inserted i on o.logid =i.logid
inner join deleted d on o.logid =d.logid
if update(logid)
IF NOT EXISTS (logid FROM Operatorlog WHERE logid = @logid )
insert into Operatorlog (cate_id,cate_name) select i.cate_id,i.cate_name FROM inserted i
实验四 存储过程、触发器与索引 一、实验目的 1.熟悉大型数据库实验环境,以MS SQL SERVER为例; 2.掌握视图; 3.掌握存储过程与触发器; 4.掌握MS SQL SERVER的导入和导出; 5.掌握MS SQL SERVER的索引。 二、实验内容 (1)使用“实验一”中的数据库“abc”,创建一个视图,生产厂家为“北京”且价格低于北京生产的产品的平均价格,输出产品的名称、价格和生产厂家。 (2)使用“实验一”中的数据库“abc”,创建一个带有输入参数的存储过程proc_abc,查询指定职工的销售记录,用户输入职工编号,存储过程返回职工名称、产品名称、销售日期、销售数量,假如执行存储过程时所提供的“职工编号”不存在,存储过程应给予一定的提示。 (3)使用“实验一”中的数据库“abc”,练习使用游标, 写出按如下报表形式显示结果的SQL语句,该报表查询每年每种产品总销售金额,(总销售金额=价格*销量),报表显示格式如下所示: 年 产品号 产品名 销售总量 总销售金额(万元) 2001年 2 AAA 590 3.2 2001年 5 BBB 644 23.3 2002年 1 CCC 32 0.2 (4)使用“实验一”中的数据库“abc”,练习使用触发器,在销售表上创建触发器tr_updateprice,每次新增销售记录时,自动更新产品表的单价,更新方法是:每增加一笔销售记录,就将该产品的单价减去1块钱。 (5)将100万行网络连接监控数据Netflow导入数据库,创建多个索引,观察创建索引对数据库文件大小的影响;并设计不同的查询语句来观察索引对查询效率的影响;可以尝试将100万行记录扩展为1000万行,然后再做索引和查询的实验?文件见附件。

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧