2011-06-20 80 views
6

Tôi đang cố gắng cập nhật các trường cơ sở dữ liệu từ một bảng SQL Server sang một bảng SQL Server khác.Cập nhật bảng cơ sở dữ liệu từ một bảng cơ sở dữ liệu SQL Server sang bảng cơ sở dữ liệu SQL Server khác?

Máy chủ SQL sản xuất của chúng tôi là [spdbprod.test.com\spprod], máy chủ QA của chúng tôi là [spdbQA.test.com\spQA].

Tôi cần cập nhật bảng sản xuất từ ​​bảng QA. Tôi sử dụng câu lệnh SQL này, nhưng nó đưa ra một lỗi.

UPDATE 
    [spdbprod.test.com\spprod].[aspnetdb].[dbo].[Communities_Groups] as t1 
SET 
    t1.Show = (Select t2.show from [spdbQA.test.com\spQA].[aspnetdb].[dbo]. 
[Communities_Groups] as t2 where t1.GroupID = t2.GroupdID) 

Tôi thiếu gì ở đây? Lỗi: CẬP NHẬT. ("Cú pháp không chính xác gần từ khoá 'là'.")

+0

Nếu bạn đăng một cái gì đó như thế này và trêu chọc chúng tôi với * nó mang lại cho một lỗi *, nó sẽ được thực hành tốt nhất để ** cho chúng tôi * * lỗi chính xác là gì! Đó sẽ là một sự trợ giúp to lớn để xem những gì mà probelm có thể là .... –

+0

@marc_s: Tôi nghĩ một lỗi rõ ràng là bí danh bảng trong 'UPDATE'. ("Cú pháp không chính xác gần từ khóa 'là'.") – a1ex07

+1

@ a1ex07: đó là một dự đoán - tốt nhất (bạn đã bỏ phiếu cho dự đoán tốt đó), nhưng vẫn là phỏng đoán .... và đó là nguyên tắc chung - đừng chỉ cần nói "có lỗi" - nếu bạn nói điều đó - CHO CHÚNG TÔI biết lỗi đó là gì! –

Trả lời

15

Bạn đang sử dụng bí danh bảng theo cách sai. Bạn không thể làm UPDATE table1 t SET field1=val, bạn phải viết UPDATE table1 SET field=val (Hoặc UPDATE table1 SET field=val FROM table1 t). Vì vậy, hãy thay đổi truy vấn của bạn thành

UPDATE [spdbprod.test.com\spprod].[aspnetdb].[dbo].[Communities_Groups] 
SET Show = t2.show 
FROM [spdbprod.test.com\spprod].[aspnetdb].[dbo].[Communities_Groups] t1 
INNER JOIN [spdbQA.test.com\spQA].[aspnetdb].[dbo]. 
[Communities_Groups] t2 ON (t1.GroupID = t2.GroupID) 
+1

Biểu mẫu: "UPDATE t SET field = val FROM table1 t" cũng hoạt động. –

+0

Rõ ràng, phần '[dbo]' quan trọng hơn tôi nghĩ. Tuy nhiên, bạn chỉ cần lưu mông của tôi! Được đánh giá cao. –

0

Tôi tin rằng bạn phải có liên kết cơ sở dữ liệu (máy chủ được liên kết) để hoạt động.

Tôi không có quyền truy cập vào hai máy chủ SQL ở đây tại nơi làm việc để tôi không thể kiểm tra, nhưng tôi chắc chắn rằng bạn cần liên kết. Bạn có thiết lập máy chủ được liên kết không?

Đây là một url có thể giúp http://msdn.microsoft.com/en-us/library/ms188279.aspx

Harvey Sather

Các vấn đề liên quan