--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
相关问答:
环境:1.win2003server+oracle9i
2.oracle9i字符集为AMERICAN_AMERICA.WE8ISO8859P1
3.oracle sql developer版本 1.5.5
现象描述: 1.在sql developer 中查询oracle中的某个表,中文全部显示为乱码。
......
大家有没有 存储过程分页的例子,共享一下,谢谢!!!
http://wyf.javaeye.com/blog/462396
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
/*--实现分页的通用存储过程
......
安装SQLServer2000个人版,到“安装类型”界面,不管选择什么选项,不管用默认路径还是自定义路径,点击下一步,都弹出“在指定的位置不存在有效的SQLServer安装—C:\Program Files\Microsoft SQL Server”的对 ......
今天网上看一个项目(sqlserver+。net)发现他的sql全部用存储过程实现
这里有很大的疑问。
如果是小项目,仅仅供小team几个人用,是无所谓的
如果并发用户数是很大的
建议用web服务器来增加负载,不应 ......
首先:家里电脑装着SQLServer 是自己到家里也能方便工作,前几天还好好的,昨天我上SQL 却打不开了,登录不上去,我试着换sa登录也不行。用windows登录还是连接失败 报错是这样的:
在建立 ......