Ich migriere eine SQL Server 6.5-Datenbank auf SQL Server 2012. Die Migration verlief gut, aber eine der Software, die diese Datenbank verwendet, führt eine seltsame Abfrage aus:
UPDATE myTable SET Field1='',Field2=0, a.Field3=14 WHERE Field10=1
Das Problem liegt natürlich bei der Kennung ('a') vor Field3. Es gibt keine Ansichten, Aliase oder Verknüpfungen mit diesem Namen, aber für SQL Server 6,5 ist dies eine gültige Abfrage.
Erinnert sich einer von Ihnen an die Bedeutung dieser Syntax, da ich mit SQL Server 6.5 nicht vertraut bin?
Die Software, die diese Abfrage verwendet, ist eine alte, von der ich keine Quellen habe (und die Firma, die sie erstellt hat, ist jetzt geschlossen ...), daher ist das Ändern der Abfrage keine Option.
Die vollständige Abfrage lautet
UPDATE SituazioneMacchina
SET DatiSetPointSpediti=''
, SpedMappa=0
, NrRichMappa=0
, DatiSetPoint=''
, a.IDProduzione=14
WHERE NumMacchina=1
Wenn ich "a.IDProduzione" durch "fasdffas.IDProduzione" ändere, funktioniert die Abfrage weiterhin in SQL Server 6.5
UPDATE a SET ... FROM myTable AS a WHERE ..., sollte sie gültig sein, ja?