Compartilhar via


Sintaxe Transact-SQL com suporte pelo IntelliSense

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

Declarações com suporte do IntelliSense

No SQL Server 2014, 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).

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 de 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
PARA 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
INSERIR Toda a sintaxe, exceto a cláusula execute_statement.
ATUALIZAÇÃO Toda a sintaxe.
EXCLUIR Toda a sintaxe.
DECLARE @local_variable Toda a sintaxe.
SET @local_variable Toda a sintaxe.
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.
CRIAR TABELA Toda a sintaxe.
CREATE VIEW Toda a sintaxe.
CREATE PROCEDURE Toda a sintaxe, com as seguintes exceções:

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, com as seguintes exceções:

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.
USAR Toda a sintaxe.

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 que foram especificadas em uma instrução ALTER TABLE ou ALTER PROCEDURE no script ou no 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 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 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  

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.