在SQL server 中,用C#语言 ,设置一个触发器

就是当某个数值大于100或小于30的时候,启动触发器,让此数值自动变回100. 应用在一个服装销售系统当中,会的尽快联系我,可以送一张星巴克咖啡券作为报酬~~~~拜托了各位,懂行的帮帮我吧,急急急急急急急!!!!!!!!!!!!

第1个回答  2012-05-28
create trigger test_name on table1
for insert
as
declare @ss int
select @ss=column_name
if @ss>100 or @ss<30
begin
update table1
set column_name=100
from tbale,inserted
where table1.column_name=inserted.column_name
end
return
raiserror('s',16,1,@ss)
rollback transaction
我无意中弄出来的,刚好想起来,试了下是可以的当插入的值大于100或者小于30
值自动改为100本回答被提问者采纳
第2个回答  2012-05-17
只要在SQL SERVER中直接添加一个触发器就可以了
代码如下:

create trigger Myty
on 表名
for insert,update
as
if exists(select 1 from inserted where inserted.数值>100 or inserted.数值<30)
--/*
--上一句要不要都行,添加个判断是提供运行效率
--*/
update 表名 set 数值=100
where exists(
select 1 from inserted
where (inserted.数值>100 or inserted.数值<30) and
inserted.主键=表名.主键
)
/*
--主键说明:
--主键一般是编号,表示该行数据在该表中的唯一的标识.如:[销售单表(销售时间,商品编号)]两个加一起才是主键
--应该写成:
inserted.销售时间=销售单表.销售时间 and inserted.商品编号=销售单表.商品编号
*/
第3个回答  2012-05-15
这个在sql server上建立触发器就可以了
update和insert的追问

能不能我把程序给您,您帮我改一下啊,因为我实在是不太会

追答

公司是oracle,暂时没法帮你试
两种实现方式:
1.建立sql server触发器,右键点击那个的表/视图,菜单会有的(如果是视图/多表的话,会比较麻烦)

Create Trigger [触发器名]
On [表名]
For Insert
As
update [表名]
set [列名] ='100'
where [列名]'100'

2.C#做判断,限制只能输入30-100的值(改系统的话,可能你那边难度比较大)

第4个回答  2012-05-15
是在什么情况触发呢?插入数据还是?可以在数据库里直接写触发器,或者在前台(C#)插入的时候检测是否符合条件执行追问

能不能麻烦您帮我做一下啊,我把软件发给您,因为我实在是不太会。方便的话留个qq号行吗

追答

把文件要求发到邮箱我看看[email protected]

第5个回答  2012-05-15
不知道 路过
相似回答