create table d(id numeric(1), code varchar(2))
उपरोक्त तालिका बनाने के बाद मैं दोनों क्षेत्रों और एक विदेशी कुंजी पर एक समग्र प्राथमिक कुंजी कैसे जोड़ सकता हूं?तालिका
create table d(id numeric(1), code varchar(2))
उपरोक्त तालिका बनाने के बाद मैं दोनों क्षेत्रों और एक विदेशी कुंजी पर एक समग्र प्राथमिक कुंजी कैसे जोड़ सकता हूं?तालिका
ओरेकल में, आप ऐसा कर सकता है:
create table D (
ID numeric(1),
CODE varchar(2),
constraint PK_D primary key (ID, CODE)
);
alter table d add constraint pkc_Name primary key (id, code)
यह करना चाहिए। आपके द्वारा काम करने वाले डीबी के आधार पर मूल प्राथमिक कुंजी/अनुक्रमणिका के लिए बहुत सारे विकल्प हैं।
ALTER TABLE
बयान क्रिस द्वारा प्रस्तुत काम करना चाहिए, लेकिन पहले आप स्तंभों NOT NULL
घोषित करने के लिए की जरूरत है। प्राथमिक कुंजी के सभी हिस्सों को NOT NULL
होना चाहिए।
आपको पहले टेबल बनाने की आवश्यकता नहीं है और फिर बाद के चरणों में कुंजी जोड़ें। तालिका बनाते समय आप प्राथमिक कुंजी और विदेशी कुंजी दोनों जोड़ सकते हैं:
यह उदाहरण किसी तालिका (Codes
) के अस्तित्व को मानता है जिसे हम अपनी विदेशी कुंजी के साथ संदर्भित करना चाहते हैं।
CREATE TABLE d (
id [numeric](1),
code [varchar](2),
PRIMARY KEY (id, code),
CONSTRAINT fk_d_codes FOREIGN KEY (code) REFERENCES Codes (code)
)
आप एक मेज है कि हम संदर्भित कर सकते हैं की जरूरत नहीं है, तो इस तरह एक जोड़ सकते हैं ताकि उदाहरण काम करेगा:
CREATE TABLE Codes (
Code [varchar](2) PRIMARY KEY
)
नोट: इससे पहले कि आप संदर्भ के लिए एक मेज होना आवश्यक है विदेशी कुंजी बनाना
यदि SQL सर्वर प्रबंधन स्टूडियो डिज़ाइनर का उपयोग करना केवल पंक्तियों (Shift + Click) और प्राथमिक कुंजी सेट करें का चयन करें।
मुझे यकीन है कि अन्य महत्वपूर्ण बाधाओं को हटा देता है – thanatorr
धन्यवाद तालिका tr बनाने (आईडी सांख्यिक (1), बिन varchar (10)) बदलने तालिका tr जोड़ने बाधा pk_id प्राथमिक कुंजी (आईडी, बिन) अपने काम नहीं क्यों – Domnic
सर अपनी धन्यवाद – Domnic
@ सिमोन: बस उत्सुक, ch नहीं कर सकता अभी ठीक है, लेकिन कॉलम के लिए अंतर्निहित नहीं है, या क्या आपको कॉलम परिभाषाओं में जोड़ने की आवश्यकता है? – Thilo