sql中更新一个数据库表中的数据时,同时更新链接服务器中一个数据库的某个表,怎么写

小白619 2021-04-30 02:47:57
需求是:sql中更新一个数据库表中的某个数据时,同时根据这个数据取更新链接服务器中一个数据库的某个表中的某个字段值
尝试写过触发器,但如果要更新链接服务器中数据库的表,需要用到分布式事务,需要开放135端口,但135端口开放的话不安全,一般服务器是禁用的,请问还有什么写法吗?

可以再触发器中调用存储过程吗?

测试数据如下:

第一个数据库:
create table A
(
id int,
name varchar(500),
remark varchar(500)
)

insert into A values
(1,'zhangsan','数学'),
(2,'lisi','英语'),
(3,'wangwu','语文')

链接服务器数据库:
create table B
(
id int,
name varchar(500),
remark varchar(500)
)

insert into B values
(1,'zhangsan','英语'),
(3,'wangwu','体育')


修改A中的remark字段,根据A.id=[LINK2.25].test.dbo.B.id修改B的remark字段,改成与A相同

请教各位大神,怎么写呢
...全文
160 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 版主 2021-04-30
  • 打赏
  • 举报
回复
触发器中更新远程表,风险比较大。不推荐。 最好程序来完成。
morliz子轩 2021-04-30
  • 打赏
  • 举报
回复
有链接服务器地址,直接实现Update_Trigger就可以,不需要开放发布式事务。
唐诗三百首 2021-04-30
  • 打赏
  • 举报
回复
触发器实现, 在触发器中关联更新. 至于安全问题, 可以设置两边服务器的Windows防火墙规则: 访问135端口的允许远程机器只限对方的IP.
notepad--v3.4 windows Notepad--v3.4.0-plugin-Installer.exe 是win10下面的插件版安装包,会关联右键菜单等。 Notepad--v3.4.0-win10-portable.zip 是绿色免安装版本,解压即用,不会关联右键菜单注册。 Ndd-quick-v3.3.0-win10-single-portable.zip 是单文件绿色免安装版,只包含皮肤和vc依赖库,不含插件、不含文件对比,主推轻量级、快速反应。适合只需要纯粹、轻快级,文本编辑器的用户。不定期发布。 MacOS 版本 Notepad--v3.4.0-mac_x64_12.3.dmg 是macos 12.x 及以后的版本。 Notepad--v3.4.0-mac_arm64_12.3.dmg 是macos 12.x 及以后 arm64 m1/m2芯片 的版本。第一次安装,需要在设置偏好里面,放开苹果的安装限制,才能正常识别,请自行放开设置一下。 如果还是有问题,参考帖子:#I8JTJN:macOS Sonoma 14.1.1安装提示已损坏:macOS Sonoma 14.1.1安装提示已损坏 uos com.hmja.notepad_3.4.0.0_amd64.deb 是x64 cpu架构的uos系统对应的ndd版本。 其余系统版本后续会发布。 3.4 修改如下: 1 支持文件标签拖入拖出到新窗口的效果。 2 windows下修改快捷键放开。 3 按行号切分大文件。 4 大文件打开,在文件夹查找所在目录,macos下可能会崩溃问题。 5 目录右键增加删除文件、文件夹功能。 6 补充深色主题下rust语法高亮; lisp 语法失效问题。 7 linux下信号打开文件,不拿锁,打开文件在消息队列去做。

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧