与on子句SQL Server 2016合并语句问题

时间:2017-06-22 23:00:04

标签: sql-server tsql

我有以下临时表

CREATE TABLE #Test2ABCD 
( VenueID int NOT NULL
, VenueName nvarchar(max)
, VenueAdd nvarchar(max)
, VenueCity nvarchar(max)
, VenueState nvarchar(max)
, VenueCounty nvarchar(max)
, VenueZip nvarchar(max)
, VenuePhone nvarchar(max)
, VenueFax nvarchar(max)
, VenueContactName nvarchar(max)
, VenueContactEmail nvarchar(max)
, VenueContactPhone nvarchar(max)
, VenueWebsite nvarchar(max)
, VenueLat float
, VenueLong float
, VenueRating nvarchar(max)
, MapURL nvarchar(max)
, XMLResult xml);

CREATE TABLE #SprocRes2ABCD 
(  RowID int identity(1,1) not null
, GPSLatitude float
, GPSLongitude float
, City nvarchar(max)
, State nvarchar(max)
, PostalCode nvarchar(max)
, Address nvarchar(max)
, County nvarchar(max)
, MapURL nvarchar(max)
, XMLResults xml);

当我尝试执行以下合并声明时

MERGE INTO #Test2ABCD t 
USING #SprocRes s ON (t.VenueID=s.RowID) 
WHEN MATCHED THEN 
  UPDATE SET t.VenueCounty = s.County
           , t.VenueLat = s.GPSLatitude
           , t.VenueLong = s.GPSLongitude;

我收到以下错误:

  

Msg 207,Level 16,State 1,Line 18   列名称无效' RowID'。

我知道这与" RowId"有关。列是标识列,但有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

好的,好像我的眼睛已停止运作了!这确实是最后一行的拼写错误。非常感谢代码审查