--oracle 触发器,转 sqlserver 问题
--oracle 触发器,转 sqlserver 问题
CREATE OR REPLACE TRIGGER TG_BU_TSTK_IMPORTITEM
BEFORE UPDATE ON TSTK_IMPORTITEM
FOR EACH ROW
DECLARE
VAR_LIBGOODCOUNT NUMERIC(12,2);
BEGIN
---在Oracle 是有:new. 代表是新的值, :old 代表是旧的值, 我利用这两个数来更改另外一个数量
---请问在sql server 的触发器代码该如何做?取得 :old.f_count 和 new.f_count ?
IF (:OLD.F_COUNT <> :NEW.F_COUNT) OR (:OLD.F_BARCODE <>:NEW.F_BARCODE) THEN
UPDATE STK_COMMODITY SET F_COUNT=F_COUNT-:OLD.F_COUNT WHERE F_ACCOUNTSUITID=:OLD.F_ACCOUNTSUITID
AND F_BARCODE=:OLD.F_BARCODE;
UPDATE STK_COMMODITY SET F_COUNT=F_COUNT+:NEW.F_COUNT WHERE F_ACCOUNTSUITID=:NEW.F_ACCOUNTSUITID
AND F_BARCODE=:NEW.F_BARCODE;
END IF;
END;
/
基本写法如下:
--触发器的操作1
create table 化验室纱组(本厂编号 int,客户 int,色号 int,纱支 int)
create table 化验室布组(本厂编号 int,客户 int,色号 int,布类 int)
go
create trigger my_trig on 化验室纱组 for insert ,update ,delete
as
if not exists(select 1 from inserted)
delete 化验室布组 from deleted t where 化验室布组.本厂编号 = t.本厂编号
else if not exists(select 1 from deleted)
insert into 化验室布组(本厂编号 ,客户 ,色号) select 本厂编号 ,客户 ,色号 from inse
相关问答:
sqlserver,如果加个用户,权限是读所有表,但只能修改某个表的字段属性
没这个说法.
只给SELECT ,
UPDATE的只给某些表
个不会
但只能修改某个表的字段属性 这个难搞
要加权限得针对某个数据库
......
在SqlServer中如何查看数据库的对象,比如我想查看数据中有哪些表,视图,函数,过程。
(通过sql语句来查,而不是通过企业管理器看)
ps:主要是因为我有两个数据库,库结构很相似,我想对比一下,找出对 ......
SQL SERVER能获得连接的用户的IP吗?
主要想实现以下:
一个用户连接到数据库,把用户的用户名与IP都保存在数据库中,来实现用户登录的功能。
最好是用户调用一个存储过程,把用户名作参数,存储过程就 ......
是这样的,我用是ODBC数据源连接服务器的数据库,现在我觉得很麻烦,因为要为每如机添加对应的数据源,想把他改成ADO方法来访问服务器的数据库能实现吗?要怎么写。
比如服务器里有二个数据库data1 和data2,客户 ......