簡體   English   中英

在Azure SQL數據庫中獲取主鍵名稱的受支持方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM