2009-08-29 11 views
26
create table d(id numeric(1), code varchar(2)) 

उपरोक्त तालिका बनाने के बाद मैं दोनों क्षेत्रों और एक विदेशी कुंजी पर एक समग्र प्राथमिक कुंजी कैसे जोड़ सकता हूं?तालिका

उत्तर

24

ओरेकल में, आप ऐसा कर सकता है:

create table D (
    ID numeric(1), 
    CODE varchar(2), 
    constraint PK_D primary key (ID, CODE) 
); 
+0

धन्यवाद तालिका tr बनाने (आईडी सांख्यिक (1), बिन varchar (10)) बदलने तालिका tr जोड़ने बाधा pk_id प्राथमिक कुंजी (आईडी, बिन) अपने काम नहीं क्यों – Domnic

+0

सर अपनी धन्यवाद – Domnic

+0

@ सिमोन: बस उत्सुक, ch नहीं कर सकता अभी ठीक है, लेकिन कॉलम के लिए अंतर्निहित नहीं है, या क्या आपको कॉलम परिभाषाओं में जोड़ने की आवश्यकता है? – Thilo

28

alter table d add constraint pkc_Name primary key (id, code)

यह करना चाहिए। आपके द्वारा काम करने वाले डीबी के आधार पर मूल प्राथमिक कुंजी/अनुक्रमणिका के लिए बहुत सारे विकल्प हैं।

+0

तालिका tr बनाने (आईडी सांख्यिक (1), बिन varchar (10)) बदलने तालिका tr जोड़ने बाधा pk_id प्राथमिक कुंजी (आईडी, बिन) अपने SQL सर्वर 2005 में – Domnic

+0

काम नहीं है कि आदेश noy काम किया है – Domnic

+0

अपने काम यू – Domnic

6

ALTER TABLE बयान क्रिस द्वारा प्रस्तुत काम करना चाहिए, लेकिन पहले आप स्तंभों NOT NULL घोषित करने के लिए की जरूरत है। प्राथमिक कुंजी के सभी हिस्सों को NOT NULL होना चाहिए।

4

आपको पहले टेबल बनाने की आवश्यकता नहीं है और फिर बाद के चरणों में कुंजी जोड़ें। तालिका बनाते समय आप प्राथमिक कुंजी और विदेशी कुंजी दोनों जोड़ सकते हैं:

यह उदाहरण किसी तालिका (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 
    ) 

नोट: इससे पहले कि आप संदर्भ के लिए एक मेज होना आवश्यक है विदेशी कुंजी बनाना

2

यदि SQL सर्वर प्रबंधन स्टूडियो डिज़ाइनर का उपयोग करना केवल पंक्तियों (Shift + Click) और प्राथमिक कुंजी सेट करें का चयन करें।

enter image description here

+0

मुझे यकीन है कि अन्य महत्वपूर्ण बाधाओं को हटा देता है – thanatorr