--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中的某个表,中文全部显示为乱码。
......
日前用oci函数查询oracle数据时出现个问题,就是在查询到date类型的数据时,使用pl/sql 查询oracle库中的数据显示是
2009-9-29 12:12:12
但是通过语句select * from tablename 查询,使用oci_fetch_array() ......
<?php
getenv("ORACLE_HOME");
$conn=ocilogon("test","test","test_db");
if($conn)
echo success;
&nb ......
在SqlServer中如何查看数据库的对象,比如我想查看数据中有哪些表,视图,函数,过程。
(通过sql语句来查,而不是通过企业管理器看)
ps:主要是因为我有两个数据库,库结构很相似,我想对比一下,找出对 ......
SQL SERVER能获得连接的用户的IP吗?
主要想实现以下:
一个用户连接到数据库,把用户的用户名与IP都保存在数据库中,来实现用户登录的功能。
最好是用户调用一个存储过程,把用户名作参数,存储过程就 ......