[英]Supported way to get Primary Key Name in Azure SQL Database
我有以下查詢:
SELECT @PrimaryKeyName = cu.COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE cu
WHERE EXISTS
( SELECT tc.* FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
WHERE tc.TABLE_NAME = @Item AND
tc.CONSTRAINT_TYPE = 'PRIMARY KEY' AND
tc.CONSTRAINT_NAME = cu.CONSTRAINT_NAME )
我用來從特定表獲取主鍵列名稱的方法。
我遇到的問題是,即使查詢確實可以正常工作,我也看到Azure SQL數據庫不支持INFORMATION_SCHEMA。
有誰知道以受支持的方式執行此操作的方法?
盡管文檔中的主要“系統信息架構視圖”主題並不表示Azure SQL數據庫支持INFORMATION_SCHEMA
視圖,但是所有特定於視圖的文檔頁面均表示僅除KEY_COLUMN_USAGE
之外, KEY_COLUMN_USAGE
支持該視圖。 這似乎有些奇怪,所以可能只是文檔問題。 我會伸出手看是否可以確認這一點。
除非特別需要跨DBMS兼容性,否則我傾向於使用SQL Server目錄視圖而不是ISO INFORMATION_SCHEMA
視圖,因為跨DBMS兼容性可能會發現有用的其他元數據。
編輯
我與產品團隊確認,這只是一個文檔問題。 INFORMATION_SCHEMA
視圖和SQL目錄視圖都是在Azure SQL數據庫中查詢目錄元數據的受支持方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.