में अपडेट किया गया है, मुझे नहीं पता कि यह कहां से शुरू होगा या यह कैसे काम करेगा और मुझे आशा है कि किसी के पास कोई विचार या सिद्ध विधि हो।एक क्वेरी कैसे बनाएं, जो केवल एक डेटा प्राप्त करता है जिसे तालिका
मैं जो करने की कोशिश कर रहा हूं उसका एक उदाहरण दिखाने के लिए, मैंने एक संग्रहित प्रक्रिया बनाई है जो एक लिंक तालिका से रिकॉर्ड प्राप्त करके स्थानीय तालिका में अद्यतन या INSERT नए रिकॉर्ड बनाता है। संग्रहीत प्रक्रिया नए रिकॉर्ड को अद्यतन और सम्मिलित करने के लिए SQL सर्वर में एक नौकरी के रूप में चलती है।
मेरा प्रश्न है: क्या स्थानीय तालिका में डेटा पूछने का कोई तरीका है ताकि शुरुआत में मैं सभी रिकॉर्ड प्राप्त कर सकूं लेकिन केवल नए रिकॉर्ड प्राप्त किए गए हैं या पुराने रिकॉर्ड अपडेट किए गए हैं?
मैं लगातार सभी रिकॉर्ड प्राप्त नहीं करना चाहता, केवल नए रिकॉर्ड जोड़े गए या रिकॉर्ड अपडेट किए गए।
क्या यह संभव है?
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
यह संभव है:
यहाँ संग्रहीत प्रक्रिया मैं स्थानीय फोन के डेटा को अपडेट करने के लिए एक उदाहरण के रूप में बनाया एवेन्यू है?
सभी को धन्यवाद!
यह की तरह लगता है का उपयोग कर सकते [ एसक्यूएल सर्वर प्रतिकृति] (http://msdn.microsoft.com/en-us/library/ms151198.aspx) इस –