قراءة معلومات جدول SQL
-
19-09-2019 - |
سؤال
أحتاج إلى الحصول على تفاصيل المخطط لاسم الجدول المرت باستخدام معلومات_Schema. كجزء من الإخراج تحتاج العمود، constrained_name، constraint_type.
كيف يمكن القيام بذلك
شكرا
المحلول
حسنا حل هذا كما
WITH CONSTRAINTLIST
AS
(
SELECT KCU.TABLE_NAME, KCU.COLUMN_NAME, TC.CONSTRAINT_TYPE
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS TC
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU ON KCU.CONSTRAINT_SCHEMA = TC.CONSTRAINT_SCHEMA
AND KCU.CONSTRAINT_NAME = TC.CONSTRAINT_NAME
AND KCU.TABLE_SCHEMA = TC.TABLE_SCHEMA
AND KCU.TABLE_NAME = TC.TABLE_NAME
WHERE TC.CONSTRAINT_TYPE IN ( 'PRIMARY KEY')
)
SELECT COL.COLUMN_NAME, CL.CONSTRAINT_TYPE FROM INFORMATION_SCHEMA.COLUMNS COL
LEFT JOIN CONSTRAINTLIST CL
ON COL.COLUMN_NAME = CL.COLUMN_NAME AND COL.TABLE_NAME = CL.TABLE_NAME
WHERE COL.TABLE_NAME = 'TABLE_NAME'
لا تنتمي إلى StackOverflow