高手帮忙写一个带难度的SQL Server 触发器,我在论坛里搜不到???分不够再加!
基本情况如下:
现有两个表(经简化):vehicles(ID,...) 和samples(ID,vehicleType,...),现在想用触发器完成这个功能:即在vehicles中插入记录的同时,将其中的ID值和另外用户输入的值vehicleType(例如51)作为一条新记录再插入samples表中!请哪为高手指点一下!我找了很多例子,但很多都是类似这样的:
create trigger hual on kh
for insert
as
insert yl(kh_name,list_date,wp_id,wp)
select kh.kh_name,kh.list_date,wp.id,wp.wp
from kh ,wp
where datename(weekday,kh.list_date) not in('星期六','星期天')
也就是说他们的备用集都能满足插入的需要,而我这里还要额外的用户输入值!
谢谢!
问题点数:20、回复次数:7Top
1 楼DADA_dotnet(ASP.NET&C#)回复于 2004-11-04 12:23:05 得分 0
对多表同时操作,建议建立视图~~~Top
2 楼srz007(呵呵)回复于 2004-11-04 12:23:50 得分 5
去SQL版问,比这人气还旺Top
3 楼weimu399(玮睦)回复于 2004-11-04 12:28:51 得分 5
create trigger hual on vehicles
for insert
as
insert samples(ID,cehicleType,......)
select ID,vechicleType
from inserted
Top
4 楼okwinds(梦无忧)回复于 2004-11-04 12:30:02 得分 10
你这样设计很不合理,带参数插入的时候应该选择stored procedure,而不是Trigger,Trigger是用来做数据一致性用的,用在这里显然不合适,另外Trigger的使用要注意,在大型系统的应用里一般不建议用Trigger,因为Trigger要写很多事务日志对DBMS系统有很大的开销!!Top
5 楼gobitan(雨水)回复于 2004-11-04 12:53:02 得分 0
谢谢okwinds的指点,有道理!Top
6 楼cpio(备注)回复于 2004-11-04 13:05:40 得分 0
你就不要为难SQLSERVER了
Triger怎么知道那个ehicleType啊?Top
7 楼webdiyer(.net资源精华—www.dotneturls.com)回复于 2004-11-04 13:26:10 得分 0
weimu399(玮睦)的方法应该可以了啊Top




