Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.92 KB | None | 0 0
  1. SELECT t.TABLE_NAME As 'Table Name',
  2. Keys.COLUMN_NAME AS 'Primary Key'
  3. FROM INFORMATION_SCHEMA.TABLES t
  4. left outer join INFORMATION_SCHEMA.TABLE_CONSTRAINTS Constraints
  5. on t.TABLE_NAME = Constraints.Table_name
  6. and t.Table_Schema = Constraints.Table_Schema
  7. left outer join INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS Keys
  8. ON Constraints.TABLE_NAME = Keys.TABLE_NAME
  9. and Constraints.CONSTRAINT_NAME = Keys.CONSTRAINT_NAME
  10. and Constraints.CONSTRAINT_TYPE = 'PRIMARY KEY'
  11.  
  12. SELECT T.TABLE_NAME As 'Table Name'
  13. , (
  14. Select K1.COLUMN_NAME
  15. From INFORMATION_SCHEMA.TABLE_CONSTRAINTS As C1
  16. Join INFORMATION_SCHEMA.KEY_COLUMN_USAGE As K1
  17. On C1.TABLE_SCHEMA = K1.TABLE_SCHEMA
  18. And C1.TABLE_NAME = K1.TABLE_NAME
  19. And C1.CONSTRAINT_NAME = K1.CONSTRAINT_NAME
  20. Where C1.CONSTRAINT_TYPE = 'PRIMARY KEY'
  21. And T.TABLE_SCHEMA = C1.TABLE_SCHEMA
  22. And T.TABLE_NAME = C1.TABLE_NAME
  23. )As PrimaryKeyColumns
  24. FROM INFORMATION_SCHEMA.TABLES As T
  25.  
  26. SELECT t.TABLE_NAME As 'Table Name',
  27. Keys.COLUMN_NAME AS 'Primary Key'
  28. FROM INFORMATION_SCHEMA.TABLES t
  29. left outer join INFORMATION_SCHEMA.TABLE_CONSTRAINTS Constraints
  30. on t.TABLE_NAME = Constraints.Table_name
  31. and t.Table_Schema = Constraints.Table_Schema
  32. and Constraints.CONSTRAINT_TYPE = 'PRIMARY KEY'
  33. left outer join INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS Keys
  34. ON Constraints.TABLE_NAME = Keys.TABLE_NAME
  35. and Constraints.CONSTRAINT_NAME = Keys.CONSTRAINT_NAME
  36.  
  37. SELECT T.TABLE_NAME As 'Table Name'
  38. , Stuff(
  39. (
  40. Select ', ' + K1.COLUMN_NAME
  41. From INFORMATION_SCHEMA.TABLE_CONSTRAINTS As C1
  42. Join INFORMATION_SCHEMA.KEY_COLUMN_USAGE As K1
  43. On C1.TABLE_SCHEMA = K1.TABLE_SCHEMA
  44. And C1.TABLE_NAME = K1.TABLE_NAME
  45. And C1.CONSTRAINT_NAME = K1.CONSTRAINT_NAME
  46. Where C1.CONSTRAINT_TYPE = 'PRIMARY KEY'
  47. And T.TABLE_SCHEMA = C1.TABLE_SCHEMA
  48. And T.TABLE_NAME = C1.TABLE_NAME
  49. For Xml Path(''), type
  50. ).value('.', 'nvarchar(max)')
  51. , 1, 2, '') As PrimaryKeyColumns
  52. FROM INFORMATION_SCHEMA.TABLES As T
  53.  
  54. SELECT T.TABLE_NAME As 'Table Name'
  55. , Keys.COLUMN_NAME AS 'Primary Key'
  56. FROM INFORMATION_SCHEMA.TABLES As T
  57. Left Join( INFORMATION_SCHEMA.TABLE_CONSTRAINTS Constraints
  58. Join INFORMATION_SCHEMA.KEY_COLUMN_USAGE As Keys
  59. On Constraints.TABLE_SCHEMA = Keys.TABLE_SCHEMA
  60. And Constraints.TABLE_NAME = Keys.TABLE_NAME
  61. And Constraints.CONSTRAINT_NAME = Keys.CONSTRAINT_NAME
  62. And Constraints.CONSTRAINT_TYPE = 'PRIMARY KEY' )
  63. On T.TABLE_SCHEMA = Constraints.TABLE_SCHEMA
  64. And T.TABLE_NAME = Constraints.TABLE_NAME
  65.  
  66. static void Main(string[] args)
  67. {
  68. Server server = new Server("serverName");
  69. Database db = server.Databases["DatabaseName"];
  70.  
  71. string tableName = "TableName";
  72.  
  73. Table table = db.Tables[tableName];
  74.  
  75. if (table != null)
  76. {
  77. Console.WriteLine("Table: {0}", tableName);
  78. if (table.Columns.Count > 0)
  79. {
  80. Console.WriteLine(" Primary Key Columns:");
  81. foreach (Column column in table.Columns)
  82. {
  83. if (column.InPrimaryKey)
  84. {
  85. Console.WriteLine(string.Format(" {0}", column.Name));
  86. }
  87. }
  88. }
  89. else
  90. {
  91. Console.WriteLine(" No primary key.", tableName);
  92. }
  93. }
  94. Console.WriteLine("Press ENTER to exit...");
  95. Console.ReadLine();
  96. }
  97.  
  98. select
  99. TABLE_SCHEMA,
  100. TABLE_NAME
  101. from
  102. INFORMATION_SCHEMA.TABLES
  103. where
  104. objectproperty(object_id(table_name),'TableHasPrimaryKey')=0
  105. ORDER BY
  106. TABLE_NAME
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement