sql-server - 如何从另一个SQL更新值

标签 sql-server sql-server-2005 tsql

我必须根据另一个表中的值更新值:

update OracleOb..NS.myTable set name = (select name from myTable1 where id = 1)
   where id = 1

这里的 SQL 有问题。如何从 myTable1 获取值并将其设置到 myTable?

我使用的是 MS SQL 2005。

抱歉,我必须再次编辑这个问题。表 myTable 是 Oracle 表的链接对象。我尝试了建议的答案,但收到错误消息:

 The OLE DB provider "OraOLEDB.Oracle" for linked server "OracleOb" reported an error. The provider reported an unexpected catastrophic failure.

最佳答案

UPDATE m 
SET m.name = m1.name
FROM MyTable m
    JOIN MyTable1 m1 ON m.id = m1.id
WHERE m.id = 1

关于sql-server - 如何从另一个SQL更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1256881/

相关文章:

sql - 如何使用参数执行.sql文件

sql - 将存储过程的结果插入临时表

sql - 关键字 'with' 附近的语法不正确...之前的语句必须以分号终止

sql - 始终使用 nvarchar(MAX) 有什么缺点吗?

SQL 服务器-GETUTCDATE() 'Incorrect syntax near )'

sql - 根据业务逻辑获取第一个join结果

sql - 使用 T-SQL 检索具有许多场景的字符串的一部分

sql-server - 在sql server 2012中调试时查看表变量的内容

sql-server - 多部分标识符无法绑定(bind) sql server

sql - 将sql中的char从奇怪的格式转换为datetime