| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 655 人关注过本帖
标题:关于触发器的源代码及解决方案希望大家能讨论一下
只看楼主 加入收藏
xu2000
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:51
帖 子:3890
专家分:56
注 册:2006-4-8
结帖率:100%
收藏
 问题点数:0 回复次数:1 
关于触发器的源代码及解决方案希望大家能讨论一下
现有两个表如下
CREATE TABLE sp --商品表
(
spbm varchar(6) not null --商品编码
primary key
check(spbm like '[1-9][0-9][0-9][0-9][0-9][0-9]'),
spmc varchar(100) not null, --商品名称
spjm varchar(100), --商品简码
jldw varchar(10), --计量单位
gg varchar(30), --规格型号
bhq int --保换期
check(bhq>0 or bhq is null),
bxq int --保修期
check(bxq>0 or bxq is null),
zxjj decimal(18,3), --最新进价
kcsl smallint, --库存数量
kcje decimal(18,3), --库存金额
lb varchar(3) not null --所属类别
references lb(lbbm),
pp varchar(3), --品牌
szr varchar(10) not null, --操作人,指第一次插入数据时的人员名称
crrq datetime not null, --插入的时间
zt bit not null default 1 --状态 1-正常,0-已终止
)

CREATE TABLE gxxx --更新信息表
(
gxb varchar(20) not null, --被更新的表
gxbm varchar(10) not null, --被更新的数据的编码
gxzd varchar(20) not null, --被更新的字段
ynr varchar(200), --原内容
xnr varchar(200), --新内容
gxrq datetime, --更新日期
gxry varchar(10) --更新人员
primary key (gxb,gxbm,gxzd,ynr,xnr,gxrq)
)

我想在sp表上建一个触发器,其作用是如有sp表或其它表中某个字段被更新,那么自动在gxxx表中插入一第记录,其内容分别为注释中的内容。我的问题是1,我一开始用的是updated(column)判断,但代码太长了,我觉得是我个人的水平不够,没找到好的办法,所以真心的请教各位有没有更好的方法。2,怎么插入更新人员这个字段,本身sql sever中没有这个变量,这个变量是我在登录我自己开发的程序中的用户名(我使用的是delphi),那么如何将这个变量祭奠传递到触发器中?其实也就可以说是给触发器加个参数的问题。(在我看过的书中触发器是没有参数的。)
先谢每一个看贴的人吧。
搜索更多相关主题的帖子: 源代码 触发器 varchar 方案 商品 
2006-04-08 11:44
LouisXIV
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:789
专家分:0
注 册:2006-1-5
收藏
得分:0 
指定字段被更新你可以用columns updated()来写,不过这种写法写了以后原表的字段位置不可更改。

具体写法你可以去看http://msdn2.microsoft.com/en-us/library/ms186329(SQL.90).aspx,在中间偏上的地方有一个Trigger指定字段更新的例子,很不错,那个数字的算法看一下就知道了,判断条件也不是很麻烦。

这个是我上次为了做一个夜间服务器更新的时候查到的,虽然后来由于其他方面的原因没有用上(同值更新也被认为是更新,而服务器更新的时候都是无论更改与否都全字段更新,所以那个没有用)。

用户名在T-SQL有app_name(),user_name()等函数可以参考使用

2006-04-08 12:13
快速回复:关于触发器的源代码及解决方案希望大家能讨论一下
数据加载中...
 
   



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

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