在SQL Server 2005中的表名,可以用来区分你指的是哪个表:如何在SQL Server 2000中更新需要“别名”的链接服务器表?
UPDATE LinkedServer.database.user.tablename
SET val=u.val
FROM localtable u
WHERE tablename.ID=u.ID
在SQL Server 2000这会导致
服务器:消息107,级别16,状态2
列前缀'tablename'与查询中使用的表名或别名不匹配。
试图
UPDATE LinkedServer.database.user.tablename
SET val=u.val
FROM localtable u
WHERE LinkedServer.database.user.tablename.ID=u.ID
结果
服务器:消息117,级别15,状态2
数名“LinkedServer.database.user.tablename]包含了更多的最大数量的前缀。最大为3
,当然,
UPDATE LinkedServer.database.user.tablename
SET val=u.val
FROM localtable u
WHERE ID=u.ID
结果
服务器:消息209,级别16,状态1
不明确的列名 'ID'。
(事实上,在“数字名称包含超过最大数量的前缀数目,最大值是3”。我找到了答案,但我已经键入了这个问题,我要发布它:-))
是的,这就是我在这里找到的http://www.sqlservercentral.com/Forums/Topic171651-9-1.aspx – 2010-05-07 10:34:32