Partilhar via


Sintaxe Transact-SQL com suporte do IntelliSense

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

Este tópico descreve as instruções e os elementos de sintaxe Transact-SQL aos quais o IntelliSense dá suporte no SQL Server.

Instruções com suporte do IntelliSense

No SQL Server, o IntelliSense dá suporte apenas às instruções Transact-SQL mais usadas. Algumas condições gerais do Editor de Consultas do Mecanismo de Banco de Dados podem impedir que o IntelliSense funcione. Para obter mais informações, confira Solucionando problemas do IntelliSense (SQL Server Management Studio).

Observação

O IntelliSense não está disponível para objetos de banco de dados criptografados, como, por exemplo, procedimentos armazenados criptografados ou funções definidas pelo usuário. A ajuda de parâmetros e Informações Rápidas não estão disponíveis para os parâmetros de procedimentos armazenados estendidos e tipos definidos pelo usuário da Integração CLR.

Instrução SELECT

O Editor de Consultas do Mecanismo de Banco de Dados dá suporte ao IntelliSense para os seguintes elementos de sintaxe na instrução SELECT:

SELECT

WHERE

FROM

ORDER BY

HAVING

UNION

FOR

GROUP BY

INÍCIO

OPTION (dica)

Instruções Transact-SQL adicionais com suporte

O Editor de Consultas do Mecanismo de Banco de Dados também dá suporte ao IntelliSense para instruções Transact-SQL mostradas na tabela a seguir.

Instrução Transact-SQL Sintaxe com suporte Exceções
INSERT Toda a sintaxe, exceto a cláusula execute_statement . Nenhum
UPDATE Toda a sintaxe. Nenhum
DELETE Toda a sintaxe. Nenhum
DECLARE @local_variable Toda a sintaxe. Nenhum
SET @local_variable Toda a sintaxe. Nenhum
EXECUTE Execução de procedimentos armazenados definidos pelo usuário, procedimentos armazenados do sistema, funções definidas pelo usuário e funções do sistema. Nenhum
CREATE TABLE Toda a sintaxe. Nenhum
CREATE VIEW Toda a sintaxe. Nenhum
CREATE PROCEDURE Toda a sintaxe. Não há suporte do IntelliSense para a cláusula EXTERNAL NAME.

Na cláusula AS, o IntelliSense dá suporte apenas às instruções e à sintaxe listadas neste tópico.
ALTER PROCEDURE Toda a sintaxe Não há suporte do IntelliSense para a cláusula EXTERNAL NAME.

Na cláusula AS, o IntelliSense dá suporte apenas às instruções e à sintaxe listadas neste tópico.
USE Toda a sintaxe. Nenhum

IntelliSense em instruções com suporte

No Editor de Consultas do Mecanismo de Banco de Dados, o IntelliSense dá suporte aos seguintes elementos de sintaxe, quando usados em uma das instruções Transact-SQL com suporte:

  • Todos os tipos de junção, inclusive APPLY

  • PIVOT e UNPIVOT

  • Referências aos seguintes objetos de banco de dados:

    • Bancos de dados e esquemas

    • Tabelas, exibições, funções com valor de tabela e expressões de tabela

    • Colunas

    • Procedimentos e parâmetros de procedimentos

    • Funções escalares e expressões escalares

    • Variáveis locais

    • CTE (expressões de tabela comuns)

  • Objetos de banco de dados referenciados apenas nas instruções CREATE ou ALTER no script ou lote, mas que não existem no banco de dados porque o script ou lote ainda não foi executado. Esses objetos são os seguintes:

    • Tabelas e procedimentos que foram especificados em uma instrução CREATE TABLE ou CREATE PROCEDURE no script ou lote.

    • Alterações em tabelas e procedimentos que foram especificadas em uma instrução ALTER TABLE ou ALTER PROCEDURE no script ou lote.

    Observação

    O IntelliSense não está disponível para as colunas de uma instrução CREATE VIEW até que a instrução CREATE VIEW tenha sido executada.

O IntelliSense não é fornecido para os elementos listados anteriormente quando eles são usados em outras instruções Transact-SQL. Por exemplo, há suporte do IntelliSense para nomes de colunas usados em uma instrução SELECT, mas não para colunas usadas na instrução CREATE FUNCTION.

Exemplos

Em um script ou lote Transact-SQL, o IntelliSense no Editor de Consultas do Mecanismo de Banco de Dados dá suporte apenas às instruções e à sintaxe listadas neste tópico. Os exemplos de código Transact-SQL a seguir mostram as instruções e os elementos de sintaxe com suporte do IntelliSense. Por exemplo, no lote a seguir, o IntelliSense está disponível para a instrução SELECT , quando codificada por si só, mas não quando a instrução SELECT está contida em uma instrução CREATE FUNCTION .

USE AdventureWorks2022;  
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 AdventureWorks2022.Production.Product  
    WHERE Name LIKE N'Road-250%'  
      AND Color = N'Red'  
);GO  

Essa funcionalidade também se aplica aos conjuntos de instruções Transact-SQL da cláusula AS de uma instrução CREATE PROCEDURE ou ALTER PROCEDURE.

Em um script ou lote Transact-SQL, o IntelliSense dá suporte a objetos que tenham sido especificados em uma instrução CREATE ou ALTER; no entanto, esses objetos não existem no banco de dados, porque as instruções não foram executadas. Por exemplo, você pode digitar o seguinte código no Editor de Consultas:

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

Após digitar SELECT, o IntelliSense listará PrimaryKeyCol, FirstNameCole LastNameCol como possíveis elementos na lista de seleção, mesmo que o script não tenha sido executado e MyTable ainda não exista em MyTestDB.