नोट:यह उत्तर SQL सर्वर के लिए है। oracle इस उत्तर के बाद प्रश्न में टैग जोड़ा गया था
मैं यह मानने जा रहा हूं कि आपकी तालिका में एक IDENTITY
है कॉलम जो कि प्राथमिक कुंजी भी है, अच्छे डिजाइन के सिद्धांतों के अनुसार। आइए यह भी मान लें कि यह नहीं करता है कॉलम की गणना की है (या टाइमस्टैम्प या कोई भी प्रकार जिसके लिए अधिक हेरफेर की आवश्यकता होगी)। आइए अंत में मान लें कि आप कम से कम इस आईडी कॉलम का नाम जानते हैं, जो मानक है, उदा। "id
".
आप इस क्रम का उपयोग कर सकते हैं:
SELECT * INTO #tmp FROM tbl WHERE id = @copyfrom;
ALTER TABLE #tmp DROP COLUMN id;
UPDATE #tmp SET
column1 = ...,
column2 = ...,
column3 = ...; --- the subset of columns you want to change
INSERT tbl SELECT * FROM #tmp;