Tôi không biết bắt đầu từ đâu hoặc cách thức này sẽ hoạt động và tôi hy vọng ai đó có ý tưởng hoặc phương pháp đã được chứng minh.Cách tạo truy vấn chỉ nhận dữ liệu đã được cập nhật trong bảng
Để hiển thị ví dụ về những gì tôi đang cố gắng làm, tôi đã tạo một thủ tục được lưu trữ CẬP NHẬT hoặc INSERT bản ghi mới trong bảng Địa phương bằng cách lấy bản ghi từ bảng liên kết. Thủ tục lưu trữ chạy như một công việc trong SQL Server để cập nhật và chèn bản ghi mới.
Câu hỏi của tôi là: Có cách nào để truy vấn dữ liệu trong Bảng cục bộ để Ban đầu tôi có thể nhận tất cả các bản ghi nhưng không chỉ nhận được bản ghi mới đã được chèn vào hoặc bản ghi cũ được cập nhật?
Tôi không muốn liên tục nhận tất cả các bản ghi, chỉ các bản ghi mới được thêm hoặc bản ghi được cập nhật.
Điều này có khả thi không?
Đây là thủ tục lưu trữ Tôi ave tạo ra như là một ví dụ để cập nhật các dữ liệu điện thoại địa phương:
CREATE PROCEDURE sp_UPDATE_PHONE_RECORDS
AS
BEGIN
MERGE dbo.PHONE_REC AS Target
USING (SELECT MEMBER_ID
,HOME_PHONE = dbo.udf_StdPhoneFmt(HOME)
,CELL_PHONE = dbo.udf_StdPhoneFmt(CELL)
,WORK_PHONE = dbo.udf_StdPhoneFmt(WORK)
FROM PHONE WHERE MEMBER_ID IS NOT NULL) AS SOURCE
ON (Target.MEMBER_ID = SOURCE.MEMBER_ID)
WHEN MATCHED THEN
UPDATE SET Target.HOME_PHONE = Source.HOME_PHONE,Target.CELL_PHONE = Source.CELL_PHONE,
Target.WORK_PHONE = Source.WORK_PHONE
WHEN NOT MATCHED BY TARGET THEN
INSERT (MEMBER_ID, HOME_PHONE, CELL_PHONE ,WORK_PHONE)
VALUES (Source.MEMBER_ID, Source.HOME_PHONE, Source.CELL_PHONE, Source.WORK_PHONE);
END
GO
Đây có phải là có thể?
Cảm ơn tất cả mọi người!
Nó cảm thấy như [ Sao chép SQL Server] (http://msdn.microsoft.com/en-us/library/ms151198.aspx) là công cụ thích hợp cho điều này –