【发布时间】:2011-01-25 03:49:33
【问题描述】:
尝试运行跨服务器更新:
UPDATE asilive.Contoso.dbo.lsipos
SET PostHistorySequencenNmber = (
SELECT TransactionNumber
FROM Transactions
WHERE Transactions.TransactionDate =
asilive.CMSFintrac.dbo.lsipos.TransactionDate)
给出错误:
Server: Msg 117, Level 15, State 2, Line 5
The number name 'asilive.Contoso.dbo.lsipos' contains more than
the maximum number of prefixes. The maximum is 3.
什么给了?
注意:将查询重新排列为可读性较差的连接形式:
UPDATE asilive.Contoso.dbo.lsipos
SET PostHistorySequenceNumber = B.TransactionNumber
FROM cmslive.Contoso.dbo.lsipos A
INNER JOIN Transactions B
ON A.TransactionDate = B.TransactionDate
不报错。
另见
-
SQL Server Error: maximum number of prefixes. The maximum is 3. with join syntax
(处理连接语法;这个问题处理子选择语法)
【问题讨论】:
标签: sql-server sql-server-2000 linked-server