【发布时间】:2011-04-03 21:30:26
【问题描述】:
我希望你们中的一位 Oracle 专家能够帮助我解决这个问题。我有以下 SQL Server 脚本,但我需要为 Oracle 重写它:
USE mydb
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE trigger mydb . [CONNECTERTRIGGER] on mydb . [DtreeNotify]
FOR INSERT AS
BEGIN
IF @@ROWCOUNT=0
RETURN
SET IDENTITY_INSERT mydb.DTreeNotify2 ON
INSERT INTO mydb.DTreeNotify2
(NID,NType,DataID,VersionNum,OwnerID,SubType)
SELECT inserted.NID,
inserted.NType,
inserted.DataID,
inserted.VersionNum,
mydb.Dtree.OwnerID,
livelink.DTree.SubType
FROM inserted, livelink.DTree
WHERE inserted.DataID = livelink.DTree.DataID;
END
我认为@@rowcount 变成了 sql%rowcount,但我正在努力处理 identity_insert 位。 我认为其他任何事情都不应该改变。意见?
【问题讨论】:
-
请重新格式化。这伤害了我的眼睛。注意“代码”按钮。
-
@Bill:TSQL 对此有好处,即使它已格式化 =)
标签: sql sql-server oracle plsql triggers