मेरे पास यह उपयोगकर्ता परिभाषित प्रकार है कि मैं प्राथमिक कुंजी या अनुक्रमणिका को जोड़ना चाहता हूं:SQL सर्वर में किसी उपयोगकर्ता द्वारा परिभाषित तालिका प्रकार के लिए कोई अनुक्रमणिका या प्राथमिक कुंजी कैसे जोड़ें?
IF NOT EXISTS (
SELECT *
FROM sys.types st
JOIN sys.schemas ss
ON st.schema_id = ss.schema_id
WHERE st.name = N'DistCritGroupData'
AND ss.name = N'dbo')
BEGIN
CREATE TYPE [dbo].[DistCritGroupData] AS TABLE
(
[DistCritTypeId] [int] NOT NULL,
[ItemAction] [int] NOT NULL,
[ObjectId] [int] NOT NULL,
[OperatorType] [int] NOT NULL
);
END;
GO
मैं मूल रूप से प्राथमिक कुंजी या क्लस्टर्ड इंडेक्स जोड़ना चाहता हूं। मैंने कोशिश की लेकिन मुझे त्रुटि मिली 'ऑब्जेक्ट नहीं मिल सका "dbo.DistCritGroupData" क्योंकि यह अस्तित्व में नहीं है या आपके पास अनुमति नहीं है।
CREATE TYPE [dbo].[DistCritGroupData] AS TABLE
(
[DistCritTypeId] [int] NOT NULL,
[ItemAction] [int] NOT NULL,
[ObjectId] [int] NOT NULL,
[OperatorType] [int] NOT NULL,
CONSTRAINT [DistCritGroupData0] PRIMARY KEY CLUSTERED
(
[DistCritTypeId] ASC
)
);
मैं अपने उपयोगकर्ता द्वारा परिभाषित तालिका प्रकार पर ऑब्जेक्ट एक्सप्लोरर में देखता हूं कि "कॉलम", "कुंजी", "बाधाएं" और "इंडेक्स" के लिए अनुभाग हैं। सवाल यह है कि, मैं एक कुंजी या सूचकांक कैसे जोड़ूं?
"तालिका xyz की प्राथमिक कुंजी" एक वैध पहचानकर्ता है? इसे sys.objects के लिए कुछ नाम चाहिए .. – gbn
@gbn यह बिल्कुल अनूठा है और यदि आपको जरूरी है, तो आप सिस्टम टेबल से अद्वितीय जेनरेट किए गए नाम का मूल्यांकन कर सकते हैं। –
जब आप स्रोत नियंत्रण के साथ काम कर रहे हों तो आपको नामित कुंजी या बाधा की आवश्यकता है। फिर नाम कुंजी या बाधा बहुत उपयोगी हैं। – eghetto