Sintaxe Transact-SQL com suporte do IntelliSense
Este tópico descreve as instruções e os elementos de sintaxe Transact-SQL compatíveis com o IntelliSense no SQL Server 2008.
Instruções suportadas pelo IntelliSense
No SQL Server 2008, o IntelliSense oferece 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, consulte Solucionando problemas do Transact-SQL IntelliSense.
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. Ajuda de parâmetro e Informações Rápidas não estão disponíveis para os parâmetros de procedimentos armazenados estendidos e Integração de CLR tipos definidos pelo usuário. |
Instrução SELECT
O Editor de Consultas do Mecanismo de Banco de Dados dá suporte para o IntelliSense para os seguintes elementos de sintaxe na instrução SELECT:
SELECT |
WHERE |
FROM |
ORDER BY |
HAVING |
UNION |
FOR |
GROUP BY |
TOP |
OPTION (dica) |
Instruções Transact-SQL adicionais 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.
Instrução Transact-SQL |
Sintaxe com suporte |
---|---|
Toda a sintaxe, exceto a cláusula execute_statement. |
|
Todas as sintaxes |
|
Todas as sintaxes |
|
Todas as sintaxes |
|
Todas as sintaxes |
|
Execução de procedimentos armazenados definidos pelo usuário, procedimentos armazenados do sistema, funções definidas pelo usuário e funções do sistema. |
|
Todas as sintaxes |
|
Todas as sintaxes |
|
Todas as sintaxes, com as seguintes exceções:
|
|
Todas as sintaxes, com as seguintes exceções:
|
|
Todas as sintaxes |
IntelliSense em instruções com suporte
No Editor de Consultas do Mecanismo de Banco de Dados, o IntelliSense dá suporte para os 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 procedimento
Funções escalares e expressões escalares
Variáveis locais
Expressões de tabela comuns (CTE)
Objetos de banco de dados referenciados somente 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 de CREATE VIEW tenha sido executada.
O IntelliSense não é fornecido para os elementos listados anteriormente quando eles forem 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 do Editor de Consultas do Mecanismo de Banco de Dados oferece 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 suportados pelo 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 AdventureWorks2008R2;
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 AdventureWorks2008R2.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 oferece 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 você digitar SELECT, o IntelliSense listará 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 em MyTestDB.