小编Sud*_*tty的帖子

将触发表上的 UPDATE 将是递归的

我在表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)

sql-server recursion triggers mssql-jdbc

7
推荐指数
2
解决办法
3896
查看次数

RIGHT OUTER JOIN和LEFT OUTER JOIN的组合怎么写

任何人都可以帮我解决以下查询..

这里我们有 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)

sql sql-server select join outer-join

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

sql-server ×2

join ×1

mssql-jdbc ×1

outer-join ×1

recursion ×1

select ×1

sql ×1

triggers ×1