Partilhar via


Transact-SQL sintaxe suportada pelo IntelliSense

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

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

Declarações suportadas pelo IntelliSense

No SQL Server, o IntelliSense oferece suporte apenas às instruções Transact-SQL mais comumente usadas. Algumas condições gerais do Editor de Consultas do Mecanismo de Banco de Dados podem impedir o funcionamento do IntelliSense. Para obter mais informações, consulte Solução de problemas do IntelliSense (SQL Server Management Studio).

Observação

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 de parâmetros e as 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.

Declaração SELECT

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

SELECIONAR

ONDE

DE

ORDENAR POR

TENDO

UNIÃO

PARA

AGRUPAR POR

INÍCIO

OPÇÃO (dica)

Instruções de Transact-SQL adicionais suportadas

O Editor de Consultas do Mecanismo de Banco de Dados também fornece suporte ao 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
SUPRIMIR Toda a sintaxe. Nenhum
DECLARE @local_variable Toda a sintaxe. Nenhum
SET @local_variable Toda a sintaxe. Nenhum
EXECUTAR 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
CRIAR TABELA Toda a sintaxe. Nenhum
CRIAR VISTA Toda a sintaxe. Nenhum
CRIAR PROCEDIMENTO Toda a sintaxe. Não há suporte do IntelliSense para a cláusula EXTERNAL NAME.

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

Na cláusula AS, o IntelliSense suporta apenas as instruções e a sintaxe listadas neste tópico.
UTILIZAÇÃO Toda a sintaxe. Nenhum

IntelliSense em declarações suportadas

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

  • 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, modos de exibição, funções com valor de tabela e expressões de tabela

    • Colunas

    • Procedimentos e parâmetros do procedimento

    • Funções escalares e expressões escalares

    • Variáveis locais

    • Expressões de tabela comuns (CTE)

  • Objetos de banco de dados que são 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 que foram especificados numa cláusula CREATE TABLE ou CREATE PROCEDURE no script ou conjunto de comandos.

    • Alterações em tabelas e procedimentos que foram especificados numa instrução ALTER TABLE ou ALTER PROCEDURE no script ou pacote.

    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 IntelliSense para nomes de colunas que são usados em uma instrução SELECT, mas não para colunas que são usadas na instrução CREATE FUNCTION.

Exemplos

Dentro de um script ou lote Transact-SQL, o IntelliSense no Editor de Consultas da Base de Dados suporta apenas 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 suporta. 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  

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

Dentro de um script ou lote Transact-SQL, o IntelliSense suporta 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, FirstNameCol e 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 no MyTestDB.