Compartilhar via


Sintaxe Transact-SQL com suporte pelo IntelliSense

aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)

Este tópico descreve as instruções Transact-SQL e os elementos de sintaxe com suporte do IntelliSense no SQL Server.

Declarações com suporte do IntelliSense

No SQL Server, o IntelliSense dá suporte apenas às instruções de 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, consulte Solução de Problemas do IntelliSense (SQL Server Management Studio).

Nota

O IntelliSense não está disponível para objetos de banco de dados criptografados, como procedimentos armazenados criptografados ou funções definidas pelo usuário. A ajuda do parâmetro 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 fornece suporte do IntelliSense para os seguintes elementos de sintaxe na instrução SELECT:

SELECIONAR

ONDE

DE

ORDENAR POR

TER

UNIÃO

DURANTE

AGRUPAR POR

INÍCIO

OPÇÃO (dica)

Instruções adicionais de Transact-SQL com suporte

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

Declaração Transact-SQL Sintaxe suportada Exceções
INSERIR Toda a sintaxe, exceto a cláusula execute_statement. Nenhum
ATUALIZAÇÃO Toda a sintaxe. Nenhum
EXCLUIR Toda a sintaxe. Nenhum
DECLARE @local_variable Toda a sintaxe. Nenhum
SET @local_variable Toda a sintaxe completa. 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 sintaxe. Nenhum

IntelliSense em instruções com suporte

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

  • Todos os tipos de junção, incluindo 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 procedimento

    • Funções escalares e expressões escalares

    • Variáveis locais

    • CTE (expressões de tabela comuns)

  • Objetos de banco de dados referenciados somente em 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 especificados em uma instrução CREATE TABLE ou CREATE PROCEDURE no script ou lote de comandos.

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

    Nota

    O IntelliSense não está disponível para as colunas de uma instrução CREATE VIEW até que a instrução CREATE VIEW seja 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 coluna que são usados em uma instrução SELECT, mas não para colunas que são 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 suporta somente as instruções e a sintaxe listadas neste tópico. Os exemplos de código Transact-SQL a seguir mostram quais instruções e elementos de sintaxe o IntelliSense dá suporte. 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 o SELECT está contido 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 identificados por Transact-SQL na cláusula AS de uma instrução CREATE PROCEDURE ou ALTER PROCEDURE.

Em um Transact-SQL script ou lote, o IntelliSense dá suporte a objetos que foram 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 inserir 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   

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