共用方式為


IntelliSense 支援的 Transact-SQL 語法

本主題描述 SQL Server 2014 中 IntelliSense 支援的 Transact-SQL 語句和語法元素。

IntelliSense 支援的語句

在 SQL Server 2014 中,IntelliSense 僅支援最常使用的 Transact-SQL 語句。 某些一般 Database Engine 查詢編輯器條件可能會防止 IntelliSense 運作。 如需詳細資訊,請參閱針對 IntelliSense 進行疑難解答(SQL Server Management Studio)。

備註

IntelliSense 不適用於加密的資料庫物件,例如加密預存程式或使用者定義函式。 參數說明和快速諮詢不適用於擴充預存程式和 CLR 整合使用者定義型別的參數。

SELECT 語句

Database Engine 查詢編輯器提供 SELECT 語句中下列語法元素的 IntelliSense 支援:

選擇 哪裡
來自 排序依據
擁有 聯盟
為了 GROUP BY
頁首 OPTION (提示)

支援的其他 Transact-SQL 語句

Database Engine 查詢編輯器也提供 IntelliSense 支援下表所示的 Transact-SQL 語句。

Transact-SQL 語句 支援的語法
插入 除了 execute_statement 子句之外的所有語法。
更新 所有語法。
刪除 所有語法。
DECLARE @local_variable 所有語法。
SET @local_variable 所有語法。
執行 執行使用者定義的預存程式、系統預存程式、使用者定義函數和系統函式。
建立資料表 所有語法。
CREATE VIEW 所有語法。
建立程序 (CREATE PROCEDURE) 所有語法,但有下列例外狀況:

EXTERNAL NAME 子句沒有 IntelliSense 支援。

在 AS 子句中,IntelliSense 僅支援本主題中列出的語句和語法。
ALTER PROCEDURE 所有語法,但有下列例外狀況:

EXTERNAL NAME 子句沒有 IntelliSense 支援。

在 AS 子句中,IntelliSense 僅支援本主題中列出的語句和語法。
使用 所有語法。

支持的語句中的 IntelliSense

Database Engine 查詢編輯器中的 IntelliSense 在其中一個支援的 Transact-SQL 語句中使用時,支援下列語法元素:

  • 所有聯結類型,包括APPLY

  • PIVOT 和 UNPIVOT

  • 下列資料庫物件的參考:

    • 資料庫和架構

    • 數據表、檢視表、數據表值函式和數據表運算式

    • 欄位

    • 程序和程序參數

    • 純量函式和純量表達式

    • 局部變數

    • 通用資料表表示式 (CTE)

  • 只有在腳本或批次的 CREATE 或 ALTER 語句中參考的資料庫物件,但資料庫中不存在,因為腳本或批次尚未執行。 這些物件如下所示:

    • 腳本或批次中 CREATE TABLE 或 CREATE PROCEDURE 語句中指定的數據表和程式。

    • 變更腳本或批次中 ALTER TABLE 或 ALTER PROCEDURE 語句中指定的數據表和程式。

    備註

    在 CREATE VIEW 語句執行之前,IntelliSense 不適用於 CREATE VIEW 語句的數據行。

當先前列出的元素用於其他 Transact-SQL 語句時,將不會提供 IntelliSense。 例如,IntelliSense 支援在 SELECT 語句中使用的欄位名稱,但不支援在 CREATE FUNCTION 語句中使用的欄位名稱。

範例

在 Transact-SQL 腳本或批次內,Database Engine 查詢編輯器中的 IntelliSense 僅支援本主題所列的語句和語法。 下列 Transact-SQL 程式代碼範例顯示 IntelliSense 支援的語句和語法元素。 例如,在下列批次中,當語句單獨撰寫程式代碼時,SELECT 語句可使用 IntelliSense,但當 SELECT 包含在 CREATE FUNCTION 語句中時,則無法使用。

USE AdventureWorks2012;  
GO  
SELECT Name  
FROM Production.Product  
WHERE Name LIKE N'Road-250%' and Color = N'Red';  
GO  
CREATE FUNCTION Production.ufn_Red250 ()  
RETURNS TABLE  
AS  
RETURN   
(  
    SELECT Name  
    FROM AdventureWorks2012.Production.Product  
    WHERE Name LIKE N'Road-250%'  
      AND Color = N'Red'  
);GO  

這項功能也適用於 CREATE PROCEDURE 或 ALTER PROCEDURE 語句的 AS 子句中 Transact-SQL 語句集。

在 Transact-SQL 腳本或批次內,IntelliSense 支援已在 CREATE 或 ALTER 語句中指定的物件;不過,這些物件不存在於資料庫中,因為語句尚未執行。 例如,您可以在查詢編輯器中輸入下列程式代碼:

USE MyTestDB;  
GO  
CREATE TABLE MyTable  
    (PrimaryKeyCol   INT PRIMARY KEY,  
    FirstNameCol      NVARCHAR(50),  
   LastNameCol       NVARCHAR(50));  
GO  
SELECT   

輸入 SELECT之後,IntelliSense 會將 PrimaryKeyColFirstNameCol 和 LastNameCol 列為選取清單中的可能元素,即使腳本尚未執行且尚未存在於 中MyTableMyTestDB也一樣。