/ / नामित डिफ़ॉल्ट बाधा के साथ तालिका जोड़ें कॉलम को कैसे बदलें और विदेशी कुंजी बाधा नाम दें? - एस क्यू एल सर्वर

नामित डिफ़ॉल्ट बाधा के साथ तालिका जोड़ें कॉलम को कैसे बदलें और विदेशी कुंजी बाधा नाम दें? - एस क्यू एल सर्वर

मेरे पास दो मौजूदा टेबल हैं (टेबलए और टेबलबी)और मुझे टेबलए में एक नया कॉलम जोड़ने की ज़रूरत है जिसमें टेबलबी के लिए एक विदेशी कुंजी हो और उसके पास एक डिफ़ॉल्ट मान है जो शून्य नहीं है ... और इन दोनों बाधाओं को नामित करने की आवश्यकता है। मैं यह कैसे कर सकता हूँ?

उत्तर:

उत्तर № 1 के लिए 84

एक कथन में दोनों बाधाओं को जोड़ना "टी नहीं थाजितना आसान मैंने सोचा था कि यह होगा और वहां कई उदाहरण नहीं दिख रहे थे (कम से कम मैं किसी भी आसानी से नहीं ढूंढ पाया था), इसलिए मैंने सोचा कि मैं साझा करता हूं कि मैंने इसे कैसे किया और शायद कोई एक बेहतर तरीका सुझा सकते हैं?

ALTER TABLE [table name] ADD
[New Column Name] [Column Type]
CONSTRAINT [constraint name] DEFAULT ([default value]) NOT NULL,
CONSTRAINT [constraint name] FOREIGN KEY ([New Column Name])
REFERENCES [Other Table] ([Foreign ID])

उदाहरण:

ALTER TABLE tableA ADD
myNewColumn BIGINT
CONSTRAINT myNamedConstraint_df default (1) NOT NULL,
CONSTRAINT myNamedConstraint_fk FOREIGN KEY (myNewColumn)
REFERENCES tableB (tableBPrimaryKeyID)

जवाब के लिए 0 № 2

मैंने इसे SQL सर्वर प्रबंधन स्टूडियो में दो भागों में किया था।

ALTER TABLE MyTable
ADD MyId uniqueidentifier DEFAULT (NEWID())

फिर मैंने मैन्युअल रूप से GUID को बदल दिया जो वास्तव में नए कॉलम में होना चाहिए। तब मैंने विदेशी कुंजी बाधा को जोड़ा।

ALTER TABLE MyTable
ADD FOREIGN KEY (MyId )
REFERENCES OtherTable(Id)