Sintaxe Transact-SQL com suporte pelo 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 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
.