Tôi đang di chuyển cơ sở dữ liệu SQL Server 6.5 sang SQL Server 2012. Quá trình di chuyển diễn ra tốt đẹp nhưng một trong những phần mềm sử dụng cơ sở dữ liệu này thực hiện một truy vấn lạ:
UPDATE myTable SET Field1='',Field2=0, a.Field3=14 WHERE Field10=1
Tất nhiên, vấn đề nằm ở định danh ('a') trước Field3. Không có chế độ xem, bí danh hoặc tham gia với tên đó nhưng đối với SQL Server 6.5, đó là một truy vấn hợp lệ.
Vì tôi không quen với SQL Server 6.5, có ai trong số các bạn còn nhớ ý nghĩa của cú pháp này không?
Phần mềm sử dụng truy vấn này là một phần mềm cũ mà tôi không có bất kỳ nguồn nào (và công ty đã đóng nó bây giờ ...), vì vậy thay đổi truy vấn không phải là một tùy chọn.
Truy vấn đầy đủ là
UPDATE SituazioneMacchina
SET DatiSetPointSpediti=''
, SpedMappa=0
, NrRichMappa=0
, DatiSetPoint=''
, a.IDProduzione=14
WHERE NumMacchina=1
Nếu tôi thay đổi "a.IDProduzione" bằng một cái gì đó như "fasdffas.IDProduzione", truy vấn vẫn hoạt động trong SQL Server 6.5
UPDATE a SET ... FROM myTable AS a WHERE ...nên hợp lệ, có?