关于使用sql server 2008触发器完成修改一张表里一个字段同时修改另一张表的另一字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于使用sql server 2008触发器完成修改一张表里一个字段同时修改另一张表的另一字段相关的知识,希望对你有一定的参考价值。

CREATE TRIGGER UpdateTable
on User_Sample
after update
AS BEGIN
declare @userType int
--得到更改的字段值
set @userType='2'
--得到表1和表2关联的id,也就是外键,table2的ID
declare @userId int

set @userId = (select userId FROM User_Sample )
-- 更新表2 "
update Users set Usertype=@userType where Users.userId =@userId
END
GO
UPDATE [User_Sample] SET [state] = 'True' WHERE [id] = '2'
((select userId FROM User_Sample 获取的是多个值,求有办法至获取修改的那个字段的id莫?

触发器中有两个临时表inserted 和deleted
这两个表的表结构与创建触发器的表是一样的
inserted存储的是新插入或更新后的最新资料
deleted存储的是删除的或修改前的资料。
你可以通过inserted表来获得你更新后的值,然后再用这个值来更新另外的那个表,如不清楚可再追问。
参考技术A 不需要@userid变量,触发器中可以用inserted与deleted来获取修改删除前的数据
update Users set Usertype=@userType where Users.userId in
(select userid from deleted)

关于配置sql server 2005的问题

【中文标题】关于配置sql server 2005的问题【英文标题】:Question about configuring sql server 2005 【发布时间】:2009-12-09 09:30:10 【问题描述】:

在配置 SQL 2005 Server 以准备连接到 SharePoint Server 2007 场时,Microsoft 建议本地和远程连接同时使用 TCP/IP 和命名管道。这个设置在哪里找到?

【问题讨论】:

【参考方案1】:

开始 > 所有程序 > Microsoft SQL Server 2005 > 配置工具 > SQL Server 配置管理器

或者干脆

C:\WINDOWS\system32\mmc.exe /32 "C:\WINDOWS\system32\SQLServerManager.msc"

在那里,您将在 SQL Server 2005 网络配置中看到相关选项,并且使用鼠标右键,上下文菜单将让您选择相关选项。

可能有一些 sp_configure 参数可以启用此功能,但我还没有发现。

在外围应用配置工具 ("C:\Program Files\Microsoft SQL Server\90\Shared\SqlSAC.exe") 中,也可以通过“用于服务和连接”> 数据库引擎 > 远程连接

【讨论】:

我以为它是通过 SQL Server 2005 外围应用配置工具完成的?你能再检查一次吗.. 我确信这可以在我告诉你的地方完成。它也可以在外围配置工具中完成,在“服务和连接 > 数据库引擎 > 远程连接”部分

以上是关于关于使用sql server 2008触发器完成修改一张表里一个字段同时修改另一张表的另一字段的主要内容,如果未能解决你的问题,请参考以下文章

如何:使用 SQL Server 2008 为自动更新修改日期创建触发器

使用SQL Server 2008中的触发器和存储过程发送SMS

SQL Server 2008 的配置管理器中的网络配置是空白的怎么办

如何在 SQL Server 2008 上创建插入更新触发器

SQL Server 2008 触发器错误删除

更新触发器 SQL Server 2008