sql server 的问题,关于触发器,200分(200分)

  • 主题发起人 主题发起人 jswqg
  • 开始时间 开始时间
J

jswqg

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾:
1、我想用触发器实现数据输入是更新相应的表,
如:提货登记时,自动更新订单表中的库存量,如果提货总数累计等于订单中总数,
则更新提货日期表示订单执行完毕。加上“完”的标志。这要操作两个表,不只能否实现。
我是菜鸟,请各位教我。100分
2、请问存储过程应如何在程序中调用?能将详细些吗?分数可以加上。100分
 
1是可以实现的,在操作提货表的时候执行Update触发器去检查和更新即可。
不过可能是不太明白你的意思吧,总觉得你这个想法怪怪的。:)
 
1、同意3h
2、用storedproc或adostoredproc控件就行了
 
首先(1)
提货的时候去判断提货量是否达到了定单的量,如果达到了则提货单完成,同时用TRRIGER
完成相应的定单!写入标志就行了!
(2)
用Tstoredproc控件连接你的STOREPROCEDURE 然后把参数定义好了!就可以用了!
 
用Tstoredproc控件的StoredProcName属性连接你写的存储过程,再有问题请看一下
TstoredProce的帮助
 
给你个例子:
CREATE TRIGGER trDiscounts_InsDel ON discounts
FOR INSERT, DELETE
AS
DECLARE @intRowCount INTEGER,
@chvMsg VA R C H A R ( 2 5 5 )
SELECT @intRowCount = @@RowCount
SELECT @chvMsg = CONVERT ( VARCHAR(10), @intRowCount ) + ' record(s) were '
SELECT COUNT(*) FROM inserted
IF @@error <> 0
SELECT @chvMsg = @chvMsg + ' deleted from the discounts table.'
E L S E
SELECT @chvMsg = @chvMsg + ' inserted into the discounts table.'
EXEC master..xp_sendmail 'Colleen', @chvMsg
RETURN
 
楼上的语法只适合SQL Server和Sybase
对于Oracle和InterBase你要在After Insert触发器中写语句。
 
这是一个调用
EXEC sp_attach_db @dbname = N'voogiya',
 
建议翻书
 
多人接受答案了。
 
后退
顶部