Skip to content Skip to sidebar Skip to footer

Sql Server Error: Maximum Number Of Prefixes. The Maximum Is 3. With Join Syntax

Trying to run a cross-server update: UPDATE ASILIVE.CustomerManagementSystem.dbo.Sessions SET ASILIVE.CustomerManagementSystem.dbo.Sessions.VarianceAmount=Variances.VarianceAmount

Solution 1:

Often times, you need to add brackets, at a minimum, surrounding your Linked Server Name.

[ASILIVE].[CustomerManagementSystem].dbo.Sessions

EDIT - Try this in addition

UPDATE S
SET DisciplineVarianceAmount = Variances.VarianceAmount
FROM [ASILIVE].[CustomerManagementSystem].dbo.Sessions as S
    INNERJOIN Variances ON S.SessionGUID = Variances.SessionGUID
WHERE S.VarianceAmount <> Variances.VarianceAmount

Solution 2:

Do you really like a lot of typing? :-)

UPDATE s
  SET s.DisciplineVarianceAmount = v.VarianceAmount
  FROM [ASILIVE].[CustomerManagementSystem].dbo.Sessions AS s
  INNER JOIN dbo.Variances AS v
  ON s.SessionGUID = v.SessionGUID
  AND s.VarianceAmount <> v.VarianceAmount;

Take note that you may want to describe what to do here if either variance amount is currently NULL.

Post a Comment for "Sql Server Error: Maximum Number Of Prefixes. The Maximum Is 3. With Join Syntax"