我在表TEST上触发了UPDATETRIGGER,
它被编写为在 TEST 表更新时被调用。
现在在此UPDATETRIGGER中更新同一TEST表的列。
这会递归吗?
我的触发器和表在 MS SQL 数据库中。从表中的值我看到它不会以这种方式发生,任何人都可以解释一下。
USE [TESTING]
GO
/****** Object: Trigger [dbo].[UPDATETRIGGER] ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[UPDATETRIGGER] on [dbo].[TEST]
FOR UPDATE
AS
UPDATE dbo.TEST
SET lastEditedDate=GetDate()
FROM INSERTED newdata
WHERE TEST.MasterK = newdata.MasterK
Run Code Online (Sandbox Code Playgroud) 任何人都可以帮我解决以下查询..
这里我们有 1. 左外连接 2. 两个右外连接
如何组合左右 OJ 并创建与上述相同的效果,
我需要重写相同的查询,这是因为我是我们的老MS SQL2009转换成MS SQL2012 ..而在2012年*=,=*不支持。
SELECT X.master_key, X.vendor_code
FROM
X, Y, X x2
WHERE Y.master_key = X.parent_key
AND Y.master_key *= x2.parent_key
AND x2.INITIALS =* Y.DEFAULT_INITIALS
AND x2.VENDOR_CODE =* Y.VENDOR_ABBREV
AND Y.project_name = 'TEST'
Run Code Online (Sandbox Code Playgroud)
我已经用我的基本知识修改了上面的代码,如下所示,但根本不起作用
SELECT X.master_key, X.vendor_code
FROM
X,
Y left outer join X x2
on Y.master_key = x2.parent_key,
X vnd RIGHT OUTER JOIN Y vnm
(on vnd.INITIALS = vnm.DEFAULT_INITIALS AND vnd.VENDOR_CODE = vnm.VENDOR_ABBREV )
WHERE Y.master_key = …Run Code Online (Sandbox Code Playgroud)