सरल सवाल, आप टी-एसक्यूएल के साथ तालिका की प्राथमिक कुंजी कैसे सूचीबद्ध करते हैं? मुझे पता है कि टेबल पर इंडेक्स कैसे प्राप्त करें, लेकिन यह याद नहीं कर सकता कि पीके कैसे प्राप्त करें।आप SQL सर्वर तालिका की प्राथमिक कुंजी कैसे सूचीबद्ध करते हैं?
उत्तर
SELECT Col.Column_Name from
INFORMATION_SCHEMA.TABLE_CONSTRAINTS Tab,
INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE Col
WHERE
Col.Constraint_Name = Tab.Constraint_Name
AND Col.Table_Name = Tab.Table_Name
AND Constraint_Type = 'PRIMARY KEY'
AND Col.Table_Name = '<your table name>'
प्रणाली संग्रहीत प्रक्रिया sp_help
आपको जानकारी देगी। निष्पादित निम्न कथन:
execute sp_help table_name
का उपयोग कर रहा है एमएस एसक्यूएल सर्वर आप निम्न कर सकते हैं:
--List all tables primary keys
select * from information_schema.table_constraints
where constraint_type = 'Primary Key'
तुम भी यदि आप किसी विशिष्ट तालिका चाहते TABLE_NAME स्तंभ पर फ़िल्टर कर सकते हैं।
इस आजमाएँ:
SELECT
CONSTRAINT_CATALOG AS DataBaseName,
CONSTRAINT_SCHEMA AS SchemaName,
TABLE_NAME AS TableName,
CONSTRAINT_Name AS PrimaryKey
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'Primary Key' and Table_Name = 'YourTable'
SELECT t.name AS 'table', i.name AS 'index', it.xtype,
(SELECT c.name FROM syscolumns c INNER JOIN sysindexkeys k
ON k.indid = i.indid
AND c.colid = k.colid
AND c.id = t.id
AND k.keyno = 1
AND k.id = t.id)
AS 'column1',
(SELECT c.name FROM syscolumns c INNER JOIN sysindexkeys k
ON k.indid = i.indid
AND c.colid = k.colid
AND c.id = t.id
AND k.keyno = 2
AND k.id = t.id)
AS 'column2',
(SELECT c.name FROM syscolumns c INNER JOIN sysindexkeys k
ON k.indid = i.indid
AND c.colid = k.colid
AND c.id = t.id
AND k.keyno = 3
AND k.id = t.id)
AS 'column3',
(SELECT c.name FROM syscolumns c INNER JOIN sysindexkeys k
ON k.indid = i.indid
AND c.colid = k.colid
AND c.id = t.id
AND k.keyno = 4
AND k.id = t.id)
AS 'column4',
(SELECT c.name FROM syscolumns c INNER JOIN sysindexkeys k
ON k.indid = i.indid
AND c.colid = k.colid
AND c.id = t.id
AND k.keyno = 5
AND k.id = t.id)
AS 'column5',
(SELECT c.name FROM syscolumns c INNER JOIN sysindexkeys k
ON k.indid = i.indid
AND c.colid = k.colid
AND c.id = t.id
AND k.keyno = 6
AND k.id = t.id)
AS 'column6',
(SELECT c.name FROM syscolumns c INNER JOIN sysindexkeys k
ON k.indid = i.indid
AND c.colid = k.colid
AND c.id = t.id
AND k.keyno = 7
AND k.id = t.id)
AS 'column7',
(SELECT c.name FROM syscolumns c INNER JOIN sysindexkeys k
ON k.indid = i.indid
AND c.colid = k.colid
AND c.id = t.id
AND k.keyno = 8
AND k.id = t.id)
AS 'column8',
(SELECT c.name FROM syscolumns c INNER JOIN sysindexkeys k
ON k.indid = i.indid
AND c.colid = k.colid
AND c.id = t.id
AND k.keyno = 9
AND k.id = t.id)
AS 'column9',
(SELECT c.name FROM syscolumns c INNER JOIN sysindexkeys k
ON k.indid = i.indid
AND c.colid = k.colid
AND c.id = t.id
AND k.keyno = 10
AND k.id = t.id)
AS 'column10',
FROM sysobjects t
INNER JOIN sysindexes i ON i.id = t.id
INNER JOIN sysobjects it ON it.parent_obj = t.id AND it.name = i.name
WHERE it.xtype = 'PK'
ORDER BY t.name, i.name
किसी कारण से मुझे कई मानों को वापस करने वाले उप प्रश्नों पर एक त्रुटि मिलती है। मैंने प्रत्येक सबक्विरीज़ को यह देखने के लिए टिप्पणी की कि क्या मैं इसे इंगित कर सकता हूं, लेकिन वे सभी एक ही टेबल पर विफल होने लगते हैं, जिसमें इसकी अनुक्रमणिका में केवल एक फ़ील्ड है। कोई विचार क्यों ऐसा होगा? – Marshall
मैंने पाया कि समस्या तब थी जब एक टेबल फ़ंक्शन सूचीबद्ध था। निश्चित नहीं है कि क्यों, लेकिन फ़ील्ड को कॉलम (यानी कॉलम 1) के लिए गिना जाता है 2. मेरा फिक्स अंतिम WHERE खंड को "WHERE it.xtype = 'PK' और t। [Type] = 'U'" में बदलना था। – Marshall
मैंने अपने परिणाम सेट में 'न्यूल' देखने से बचने के लिए प्रत्येक कॉलम पर इस्लाम फ़ंक्शन का उपयोग करके इसे भी पसंद किया। उदाहरण के लिए: , IsNull ( ( c.name द्वारा चुने जाने वाले syscolumns ग अंदरूनी शामिल हों sysindexkeys k पर k.indid = i.indid और c.colid = k.colid और c.id = t.id और k.keyno = 1 और k.id = t.id), ' ) AS' कॉलम 1 ' – Marshall
मैं INFORMATION_SCHEMA तकनीक पसंद है, लेकिन एक और मैं का उपयोग किया है है: कार्यकारी sp_pkeys 'तालिका'
धन्यवाद लड़का।
थोड़ी भिन्नता के साथ मैंने इसे सभी तालिकाओं के लिए सभी प्राथमिक कुंजी खोजने के लिए उपयोग किया।
SELECT A.Name,Col.Column_Name from
INFORMATION_SCHEMA.TABLE_CONSTRAINTS Tab,
INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE Col ,
(select NAME from dbo.sysobjects where xtype='u') AS A
WHERE
Col.Constraint_Name = Tab.Constraint_Name
AND Col.Table_Name = Tab.Table_Name
AND Constraint_Type = 'PRIMARY KEY '
AND Col.Table_Name = A.Name
SELECT A.TABLE_NAME as [Table_name], A.CONSTRAINT_NAME as [Primary_Key]
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS A, INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE B
WHERE CONSTRAINT_TYPE = 'PRIMARY KEY' AND A.CONSTRAINT_NAME = B.CONSTRAINT_NAME
--This एक और संशोधित संस्करण जो भी सह-संबंधित के लिए एक उदाहरण है क्वेरी
SELECT TC.TABLE_NAME as [Table_name], TC.CONSTRAINT_NAME as [Primary_Key]
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE CCU
ON TC.CONSTRAINT_NAME = CCU.CONSTRAINT_NAME
WHERE TC.CONSTRAINT_TYPE = 'PRIMARY KEY' AND
TC.TABLE_NAME IN
(SELECT [NAME] AS [TABLE_NAME] FROM SYS.OBJECTS
WHERE TYPE = 'U')
यह सभी बाधाओं (प्राथमिक कुंजी और विदेशी कुंजी) में सूचीबद्ध करना चाहिए और कम से है क्वेरी डाल तालिका नाम के अंत
/* CAST IS DONE , SO THAT OUTPUT INTEXT FILE REMAINS WITH SCREEN LIMIT*/
WITH ALL_KEYS_IN_TABLE (CONSTRAINT_NAME,CONSTRAINT_TYPE,PARENT_TABLE_NAME,PARENT_COL_NAME,PARENT_COL_NAME_DATA_TYPE,REFERENCE_TABLE_NAME,REFERENCE_COL_NAME)
AS
(
SELECT CONSTRAINT_NAME= CAST (PKnUKEY.name AS VARCHAR(30)) ,
CONSTRAINT_TYPE=CAST (PKnUKEY.type_desc AS VARCHAR(30)) ,
PARENT_TABLE_NAME=CAST (PKnUTable.name AS VARCHAR(30)) ,
PARENT_COL_NAME=CAST (PKnUKEYCol.name AS VARCHAR(30)) ,
PARENT_COL_NAME_DATA_TYPE= oParentColDtl.DATA_TYPE,
REFERENCE_TABLE_NAME='' ,
REFERENCE_COL_NAME=''
FROM sys.key_constraints as PKnUKEY
INNER JOIN sys.tables as PKnUTable
ON PKnUTable.object_id = PKnUKEY.parent_object_id
INNER JOIN sys.index_columns as PKnUColIdx
ON PKnUColIdx.object_id = PKnUTable.object_id
AND PKnUColIdx.index_id = PKnUKEY.unique_index_id
INNER JOIN sys.columns as PKnUKEYCol
ON PKnUKEYCol.object_id = PKnUTable.object_id
AND PKnUKEYCol.column_id = PKnUColIdx.column_id
INNER JOIN INFORMATION_SCHEMA.COLUMNS oParentColDtl
ON oParentColDtl.TABLE_NAME=PKnUTable.name
AND oParentColDtl.COLUMN_NAME=PKnUKEYCol.name
UNION ALL
SELECT CONSTRAINT_NAME= CAST (oConstraint.name AS VARCHAR(30)) ,
CONSTRAINT_TYPE='FK',
PARENT_TABLE_NAME=CAST (oParent.name AS VARCHAR(30)) ,
PARENT_COL_NAME=CAST (oParentCol.name AS VARCHAR(30)) ,
PARENT_COL_NAME_DATA_TYPE= oParentColDtl.DATA_TYPE,
REFERENCE_TABLE_NAME=CAST (oReference.name AS VARCHAR(30)) ,
REFERENCE_COL_NAME=CAST (oReferenceCol.name AS VARCHAR(30))
FROM sys.foreign_key_columns FKC
INNER JOIN sys.sysobjects oConstraint
ON FKC.constraint_object_id=oConstraint.id
INNER JOIN sys.sysobjects oParent
ON FKC.parent_object_id=oParent.id
INNER JOIN sys.all_columns oParentCol
ON FKC.parent_object_id=oParentCol.object_id /* ID of the object to which this column belongs.*/
AND FKC.parent_column_id=oParentCol.column_id/* ID of the column. Is unique within the object.Column IDs might not be sequential.*/
INNER JOIN sys.sysobjects oReference
ON FKC.referenced_object_id=oReference.id
INNER JOIN INFORMATION_SCHEMA.COLUMNS oParentColDtl
ON oParentColDtl.TABLE_NAME=oParent.name
AND oParentColDtl.COLUMN_NAME=oParentCol.name
INNER JOIN sys.all_columns oReferenceCol
ON FKC.referenced_object_id=oReferenceCol.object_id /* ID of the object to which this column belongs.*/
AND FKC.referenced_column_id=oReferenceCol.column_id/* ID of the column. Is unique within the object.Column IDs might not be sequential.*/
)
select * from ALL_KEYS_IN_TABLE
where
PARENT_TABLE_NAME in ('YOUR_TABLE_NAME')
or REFERENCE_TABLE_NAME in ('YOUR_TABLE_NAME')
ORDER BY PARENT_TABLE_NAME,CONSTRAINT_NAME;
संदर्भ के लिए कृपया के माध्यम से पढ़ने के लिए - http://blogs.msdn.com/b/sqltips/archive/2005/09/16/469136.aspx
यहाँ सवाल से काफी आसान तरीका है: Get table primary key using sql query:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA+'.'+CONSTRAINT_NAME), 'IsPrimaryKey') = 1
AND TABLE_NAME = '<your table name>'
यह KEY_COLUMN_USAGE
का उपयोग करता है किसी तालिका के
फिर OBJECTPROPERTY(id, 'IsPrimaryKey')
का उपयोग करता है, तो प्रत्येक प्राथमिक कुंजी
मुझे यह उपयोगी पाया गया, कॉलम की अल्पविराम की अलग सूची के साथ तालिकाओं की एक सूची देता है और फिर एक अल्पविराम की अलग सूची भी होती है जिसमें प्राथमिक कुंजी
SELECT T.TABLE_SCHEMA, T.TABLE_NAME,
STUFF((
SELECT ', ' + C.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS C
WHERE C.TABLE_SCHEMA = T.TABLE_SCHEMA
AND T.TABLE_NAME = C.TABLE_NAME
FOR XML PATH ('')
), 1, 2, '') AS Columns,
STUFF((
SELECT ', ' + C.COLUMN_NAME
FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE C
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
ON C.TABLE_SCHEMA = TC.TABLE_SCHEMA
AND C.TABLE_NAME = TC.TABLE_NAME
WHERE C.TABLE_SCHEMA = T.TABLE_SCHEMA
AND T.TABLE_NAME = C.TABLE_NAME
AND TC.CONSTRAINT_TYPE = 'PRIMARY KEY'
FOR XML PATH ('')
), 1, 2, '') AS [Key]
FROM INFORMATION_SCHEMA.TABLES T
ORDER BY T.TABLE_SCHEMA, T.TABLE_NAME
यह आपको पीके के कॉलम देता है।
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = 'TableName'
यह आम तौर पर अभ्यास अनुशंसा की जाती है अब, एसक्यूएल सर्वर में INFORMATION_SCHEMA
से अधिक sys.*
विचारों का उपयोग करें ताकि जब तक आप डेटाबेस मैं उन का प्रयोग करेंगे पलायन की योजना बना रहे।यहाँ कैसे आप sys.*
विचारों के साथ यह करना होगा है:
SELECT
c.name AS column_name,
i.name AS index_name,
c.is_identity
FROM sys.indexes i
inner join sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
inner join sys.columns c ON ic.object_id = c.object_id AND c.column_id = ic.column_id
WHERE i.is_primary_key = 1
and i.object_ID = OBJECT_ID('<schema>.<tablename>');
ऑर्डर करने के लिए, क्वेरी में' ic.key_ordinal ASC 'द्वारा ऑर्डर करें –
यह एक समाधान है जो केवल sys -tables का उपयोग करता है।
यह डेटाबेस में सभी प्राथमिक कुंजी सूचीबद्ध करता है। यह प्रत्येक प्राथमिक कुंजी के लिए स्कीमा, तालिका का नाम, कॉलम नाम और सही कॉलम सॉर्ट ऑर्डर देता है।
आप एक विशिष्ट तालिका के लिए प्राथमिक कुंजी प्राप्त करना चाहते हैं, तो आप SchemaName
और TableName
पर फिल्टर करने के लिए की जरूरत है।
आईएमएचओ, यह समाधान बहुत सामान्य है और किसी भी स्ट्रिंग अक्षर का उपयोग नहीं करता है, इसलिए यह किसी भी मशीन पर चलाएगा।
select
s.name as SchemaName,
t.name as TableName,
tc.name as ColumnName,
ic.key_ordinal as KeyOrderNr
from
sys.schemas s
inner join sys.tables t on s.schema_id=t.schema_id
inner join sys.indexes i on t.object_id=i.object_id
inner join sys.index_columns ic on i.object_id=ic.object_id
and i.index_id=ic.index_id
inner join sys.columns tc on ic.object_id=tc.object_id
and ic.column_id=tc.column_id
where i.is_primary_key=1
order by t.name, ic.key_ordinal ;
इच्छा है कि मैं इसे और अधिक वोट दे सकता हूं एक बार से अधिक। वास्तव में मुझे क्या चाहिए और बस समय में। – fqhv
क्वेरी नीचे प्राथमिक कुंजी विशेष तालिका की सूची जाएगा:
SELECT DISTINCT
CONSTRAINT_NAME AS [Constraint],
TABLE_SCHEMA AS [Schema],
TABLE_NAME AS TableName
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
TABLE_NAME = 'mytablename'
इस संस्करण प्रदर्शित करता है स्कीमा, टेबल नाम और एक का आदेश दिया, अल्पविराम प्राथमिक कुंजी की सूची अलग कर दिया। Object_Id() लिंक सर्वर के लिए काम नहीं करता है इसलिए हम तालिका नाम से फ़िल्टर करते हैं।
प्रतिस्थापन के बिना (Si1.Column_Name, '', '') यह उस डेटाबेस पर Column_Name के लिए xml खोलने और बंद टैग दिखाएगा जिस पर मैं परीक्षण कर रहा था। मुझे यकीन नहीं है कि डेटाबेस को 'Column_Name' के लिए प्रतिस्थापन की आवश्यकता क्यों है, इसलिए यदि कोई जानता है तो कृपया टिप्पणी करें।
DECLARE @TableName VARCHAR(100) = '';
WITH Sysinfo
AS (SELECT Kcu.Table_Name
, Kcu.Table_Schema AS Schema_Name
, Kcu.Column_Name
, Kcu.Ordinal_Position
FROM [LinkServer].Information_Schema.Key_Column_Usage Kcu
JOIN [LinkServer].Information_Schema.Table_Constraints AS Tc ON Tc.Constraint_Name = Kcu.Constraint_Name
WHERE Tc.Constraint_Type = 'Primary Key')
SELECT Schema_Name
,Table_Name
, STUFF(
(
SELECT ', '
, REPLACE(Si1.Column_Name, '', '')
FROM Sysinfo Si1
WHERE Si1.Table_Name = Si2.Table_Name
ORDER BY Si1.Table_Name
, Si1.Ordinal_Position
FOR XML PATH('')
), 1, 2, '') AS Primary_Keys
FROM Sysinfo Si2
WHERE Table_Name = CASE
WHEN @TableName NOT IN('', 'All')
THEN @TableName
ELSE Table_Name
END
GROUP BY Si2.Table_Name, Si2.Schema_Name;
और एक ही पैटर्न जॉर्ज क्वेरी का उपयोग:
DECLARE @TableName VARCHAR(100) = '';
WITH Sysinfo
AS (SELECT S.Name AS Schema_Name
, T.Name AS Table_Name
, Tc.Name AS Column_Name
, Ic.Key_Ordinal AS Ordinal_Position
FROM [LinkServer].Sys.Schemas S
JOIN [LinkServer].Sys.Tables T ON S.Schema_Id = T.Schema_Id
JOIN [LinkServer].Sys.Indexes I ON T.Object_Id = I.Object_Id
JOIN [LinkServer].Sys.Index_Columns Ic ON I.Object_Id = Ic.Object_Id
AND I.Index_Id = Ic.Index_Id
JOIN [LinkServer].Sys.Columns Tc ON Ic.Object_Id = Tc.Object_Id
AND Ic.Column_Id = Tc.Column_Id
WHERE I.Is_Primary_Key = 1)
SELECT Schema_Name
,Table_Name
, STUFF(
(
SELECT ', '
, REPLACE(Si1.Column_Name, '', '')
FROM Sysinfo Si1
WHERE Si1.Table_Name = Si2.Table_Name
ORDER BY Si1.Table_Name
, Si1.Ordinal_Position
FOR XML PATH('')
), 1, 2, '') AS Primary_Keys
FROM Sysinfo Si2
WHERE Table_Name = CASE
WHEN @TableName NOT IN('', 'All')
THEN @TableName
ELSE Table_Name
END
GROUP BY Si2.Table_Name, Si2.Schema_Name;
Sys.Objects तालिका प्रत्येक उपयोगकर्ता परिभाषित, स्कीमा-दायरे वाले वस्तु के लिए पंक्ति में शामिल है। प्राथमिक कुंजी या दूसरों की तरह बनाया
प्रतिबन्ध वस्तु और तालिका नाम होगा parent_object
क्वेरी sys.Objects हो सकता है और आवश्यक की वस्तु की आईडी एकत्रित करेगा प्रकार
declare @TableName nvarchar(50)='TblInvoice' -- your table name
declare @TypeOfKey nvarchar(50)='PK' -- For Primary key
SELECT Name FROM sys.objects
WHERE type = @TypeOfKey
AND parent_object_id = OBJECT_ID (@TableName)
मैं एक साधारण तकनीक बता रहा हूं जो मैं
का पालन करता हूंइस कोड को क्वेरी के रूप में चलाएं। Table_name के स्थान पर अपना टेबल नाम बताएं जिसके लिए आप प्राथमिक कुंजी जानना चाहते हैं (सिंगल कोट्स को न भूलें)। परिणाम संलग्न छवि की तरह दिखाएगा।आशा है कि यह आप
में मदद मिलेगीसुनिश्चित करें कि आप अपने टेबल नाम को सिंगल कोट्स में घेर लें या कमांड काम नहीं करेगा! – Shadoninja
मैं नीचे
SELECT
KEYS.table_schema, KEYS.table_name, KEYS.column_name, KEYS.ORDINAL_POSITION
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE keys
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS CONS
ON cons.TABLE_SCHEMA = keys.TABLE_SCHEMA
AND cons.TABLE_NAME = keys.TABLE_NAME
AND cons.CONSTRAINT_NAME = keys.CONSTRAINT_NAME
WHERE cons.CONSTRAINT_TYPE = 'PRIMARY KEY'
नोट्स मूल प्रश्न के लिए एक और अधिक सटीक सरल उत्तर का सुझाव मई:
- जवाब में से कुछ के ऊपर एक याद कर रहे हैं केवल प्राथमिक कुंजी कॉलम के लिए फ़िल्टर करें!
- मैं एक बड़ा स्तंभ के लिए सूची में शामिल होने के एक CTE में नीचे का उपयोग कर रहा मचान तालिकाओं के BIML पीढ़ी और लघु उद्योगों कोड
- 1. डेटाटाइम फ़ील्ड पर SQL सर्वर प्राथमिक कुंजी
- 2. एसक्यूएल सर्वर इंडेक्स प्राथमिक कुंजी शामिल हैं?
- 3. तालिका की प्राथमिक कुंजी प्राप्त करें?
- 4. SQL सर्वर एक समग्र प्राथमिक कुंजी कैसे संग्रहीत करता है?
- 5. कुंजी-मान तालिका पर SQL सर्वर PIVOT
- 6. आप SQL सर्वर सत्र में autocommit कैसे सेट करते हैं?
- 7. SQL सर्वर में एक प्राथमिक कुंजी आवश्यक है?
- 8. रेल माइग्रेशन तालिका प्राथमिक कुंजी
- 9. क्लस्टर्ड संपत्ति को कैसे छोड़ें लेकिन तालिका में प्राथमिक कुंजी को बनाए रखें। SQL सर्वर 2005
- 10. एसक्यूएल सर्वर: ड्रॉप तालिका प्राथमिक कुंजी, इसका नाम
- 11. कैसे Sql सर्वर 2008 तालिका
- 12. SQL सर्वर तालिका
- 13. डेटाबेस तालिका (SQL सर्वर)
- 14. प्राथमिक कुंजी
- 15. एसक्यूएल सर्वर में प्राथमिक कुंजी स्तंभ बदलें
- 16. एसक्यूएल: प्राथमिक कुंजी और इंडेक्स वास्तव में क्या करते हैं?
- 17. एसक्यूएल सर्वर ऑटो प्राथमिक कुंजी
- 18. एसक्यूएल सर्वर 2008 एक समग्र प्राथमिक कुंजी
- 19. SQL सर्वर तालिका
- 20. प्राथमिक कुंजी
- 21. मैं कैसे निर्धारित करूं कि कॉलम अपनी तालिका की प्राथमिक कुंजी में है या नहीं? (SQL सर्वर)
- 22. SQL सर्वर: तालिका
- 23. कैसे एक प्राथमिक कुंजी
- 24. एसक्यूएल - कई-से-अनेक तालिका प्राथमिक कुंजी
- 25. SQL सर्वर 2008
- 26. SQL सर्वर 2005
- 27. एक समग्र प्राथमिक कुंजी
- 28. एचडीएफएस: आप फ़ाइलों को बार-बार कैसे सूचीबद्ध करते हैं?
- 29. आप रूबी क्लास में मॉड्यूल को कैसे सूचीबद्ध करते हैं?
- 30. आप MySQL डेटाबेस में सभी ट्रिगर कैसे सूचीबद्ध करते हैं?
FYI- को खिलाने के लिए एक स्रोत से मेटाडाटा उपलब्ध कराने के लिए यह अनिवार्य रूप से कॉलम की सूची नहीं है *क्रम में*। यदि आपको अपने विशेष क्रम में कॉलम की आवश्यकता है तो इस सवाल को इसी प्रश्न के बारे में देखें: http://stackoverflow.com/a/3942921/18511 – Kip
असल में, मेरा मानना है कि आपको स्कीमा को भी बाध्य करना है, है ना? तो, आपको "और COL.TABLE_SCHEMA = ''" भी जोड़ना होगा। –
DavidStein
यदि उपरोक्त क्वेरी 3 पंक्तियों, 'ए',' बी' और 'सी', (उस क्रम में) लौटाती है तो मेरी तालिका में 'abc' की प्राथमिक समग्र कुंजी है? –