Mehrteiliger Bezeichner konnte nicht aufgelöst werden

02/04/2010 - 20:56 von Norbert Meiss | Report spam
Hallo,
bei der Ausführung des folgenden Statements bekomme ich die im Subjekt
angegebene Meldung:
Update [192.168.109.16\Entw].Mand_Entw.dbo.OP_Article
Set LIB_Key = OP_Article.LIB_Key
From OP_Article
Where OP_Article.ART_Key =
[192.168.109.16\Entw].Mand_Entw.dbo.OP_Article.ART_Key
And OP_Article.ART_Key = 5670
Die Meldung bezieht sich auf die Where-Klausel, beim Update (siehe zweites
Beispiel) löst er es richtig auf.

Ich möchte mit dem Statement einen einzigen Satz in einer Tabelle auf einem
Linked Server updaten, und der Key in der Zieltabelle soll natürlich mit dem
Key in der Quelltabelle übereinstimmen.

Mit folgendem Statement bekomme ich zwar die Fehlermeldung nicht, aber es
werden alle Records upgedated:
Update [192.168.109.16\Entw].Mand_Entw.dbo.OP_Article
Set LIB_Key = OP_Article.LIB_Key
From OP_Article
Where OP_Article.ART_Key = (Select ART_Key From
[192.168.109.16\Entw].Mand_Entw.dbo.OP_Article Where ART_Key = 5670)

Wahrscheinlich habe ich zu lange am Rechner gesessen, aber ich sehe die
Fehler nicht wirklich. Jede Hilfe ist willkommen.

Gruß, Norbert Meiss
 

Lesen sie die antworten

#1 holger rachut
03/04/2010 - 18:30 | Warnen spam
Hi Norbert,
ungetestet, probiere mal

Update [192.168.109.16\Entw].Mand_Entw.dbo.OP_Article
Set LIB_Key = OP_Article.LIB_Key
From OP_Article OP1
Where OP1.ART_Key [192.168.109.16\Entw].Mand_Entw.dbo.OP_Article.ART_Key
And OP1.ART_Key = 5670


oder

Update [192.168.109.16\Entw].Mand_Entw.dbo.OP_Article
Set LIB_Key = OP_Article.LIB_Key
From OP_Article OP1 inner join [192.168.109.16\Entw].Mand_Entw.dbo.OP_Article OP2
on OP1.Art_key=OP2.Art_key
Where OP1.ART_Key = 5670


Der Art_key kommt in beiden Tabellen vor, vermute mal das er deshalb etwas verwirrt ist

Achtung, wie gesagt ungetestet, erstmal auf nem Testsystem loslassen :-)




Am 02.04.2010 20:56, schrieb Norbert Meiss:
Hallo,
bei der Ausführung des folgenden Statements bekomme ich die im Subjekt
angegebene Meldung:
Update [192.168.109.16\Entw].Mand_Entw.dbo.OP_Article
Set LIB_Key = OP_Article.LIB_Key
From OP_Article
Where OP_Article.ART_Key > [192.168.109.16\Entw].Mand_Entw.dbo.OP_Article.ART_Key
And OP_Article.ART_Key = 5670
Die Meldung bezieht sich auf die Where-Klausel, beim Update (siehe zweites
Beispiel) löst er es richtig auf.

Ich möchte mit dem Statement einen einzigen Satz in einer Tabelle auf einem
Linked Server updaten, und der Key in der Zieltabelle soll natürlich mit dem
Key in der Quelltabelle übereinstimmen.

Mit folgendem Statement bekomme ich zwar die Fehlermeldung nicht, aber es
werden alle Records upgedated:
Update [192.168.109.16\Entw].Mand_Entw.dbo.OP_Article
Set LIB_Key = OP_Article.LIB_Key
From OP_Article
Where OP_Article.ART_Key = (Select ART_Key From
[192.168.109.16\Entw].Mand_Entw.dbo.OP_Article Where ART_Key = 5670)

Wahrscheinlich habe ich zu lange am Rechner gesessen, aber ich sehe die
Fehler nicht wirklich. Jede Hilfe ist willkommen.

Gruß, Norbert Meiss

Ähnliche fragen