在sql server2000中在更新某一记录时,如何获取该记录的某一字段的旧值?(20分)

  • 主题发起人 主题发起人 gmwing
  • 开始时间 开始时间
G

gmwing

Unregistered / Unconfirmed
GUEST, unregistred user!
在sql server2000中在更新某一记录时,如何获取该记录的某一字段的旧值?
 
说详细点,要在哪里知道旧值
 
create proc up @value1 int
as
update tablename
set
value:=isnull(@value1,value)
from tablename
//value自动取原来的值
 
这样子没用过,好像在触发器中可以取得,试试看
 
两个办法:
1、在程序中先得到原值,存起来,然后在修改;
2、触发器中有OLD变量,可以得到。
 
我问题的用意是:在sql server2000中,当更新某一数值字段时,同时用旧值与新值之差去更新另一个表的数据。
所以我想获取旧值。这如何实现(获取旧值)?
 
用触发器做了!很简单的!
更新触发器对应有两个表,一个INSERTD表和DELETED表
当更新某一数值字段时
inserted表的相关字段包含的是新值
deleted表的相关字段包含的是旧值
 
如果你是用组件ADOQuery的方法FindField('字段名')
例如:adoquery.finfield('字段名')
 
接受答案了.
 
后退
顶部