Sintassi Transact-SQL supportata da IntelliSense
In questo argomento vengono descritti le istruzioni e gli elementi di sintassi Transact-SQL che sono supportati da IntelliSense in SQL Server 2008.
Istruzioni supportate da IntelliSense
In SQL Server 2008, IntelliSense supporta solo le istruzioni Transact-SQL di uso più frequente. Alcune condizioni generali dell'editor di query del Motore di database potrebbero impedire il funzionamento di IntelliSense. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi a Transact-SQL IntelliSense.
Nota
IntelliSense non è disponibile per gli oggetti di database crittografati, ad esempio stored procedure o funzioni definite dall'utente crittografate. Le funzionalità Guida relativa ai parametri e Informazioni rapide non sono disponibili per i parametri di stored procedure estese e per i tipi definiti dall'utente di Integrazione con CLR.
Istruzione SELECT
L'editor di query del Motore di database fornisce supporto IntelliSense per i seguenti elementi della sintassi nell'istruzione SELECT:
SELECT |
WHERE |
FROM |
ORDER BY |
HAVING |
UNION |
FOR |
GROUP BY |
TOP |
OPTION (hint) |
Istruzioni Transact-SQL aggiuntive supportate
L'editor di query del Motore di database fornisce inoltre supporto IntelliSense per le istruzioni Transact-SQL illustrate nella tabella seguente:
Istruzione Transact-SQL |
Sintassi supportata |
---|---|
Tutta la sintassi, eccetto la clausola execute_statement. |
|
Tutta la sintassi. |
|
Tutta la sintassi. |
|
Tutta la sintassi. |
|
Tutta la sintassi. |
|
Esecuzione di stored procedure e di funzioni definite dall'utente e di sistema. |
|
Tutta la sintassi. |
|
Tutta la sintassi. |
|
Tutta la sintassi, con le eccezioni seguenti:
|
|
Tutta la sintassi, con le eccezioni seguenti:
|
|
Tutta la sintassi. |
IntelliSense in istruzioni supportate
Nell'editor di query del Motore di database IntelliSense supporta i seguenti elementi della sintassi quando vengono utilizzati in una delle istruzioni Transact-SQL supportate:
Tutti i tipi di join, ad esempio APPLY
PIVOT e UNPIVOT
Riferimenti agli oggetti di database seguenti:
Database e schemi
Tabelle, viste, funzioni con valori di tabella ed espressioni di tabella
Colonne
Procedure e parametri di procedura
Funzioni ed espressioni scalari
Variabili locali
Espressioni di tabella comuni (CTE)
Oggetti di database cui viene fatto riferimento solo in istruzioni CREATE o ALTER nello script o nel batch, ma che non esistono nel database perché lo script o il batch non è ancora stato eseguito. Questi oggetti sono i seguenti:
Tabelle e procedure specificate in un'istruzione CREATE TABLE o CREATE PROCEDURE nello script o nel batch.
Modifiche a tabelle e procedure specificate in un'istruzione ALTER TABLE o ALTER PROCEDURE nello script o nel batch.
Nota
IntelliSense non è disponibile per le colonne di un'istruzione CREATE VIEW fino a che non è stata eseguita l'istruzione CREATE VIEW.
IntelliSense non è disponibile per gli elementi sopra indicati quando vengono utilizzati in altre istruzioni Transact-SQL. Il supporto IntelliSense è ad esempio disponibile per i nomi di colonna utilizzati in un'istruzione SELECT, ma non per le colonne utilizzate nell'istruzione CREATE FUNCTION.
Esempi
All'interno di uno script o di un batch Transact-SQL, nell'editor di query del Motore di database IntelliSense copre solo le istruzioni e la sintassi elencate in questo argomento. Negli esempi di codice Transact-SQL seguenti sono mostrati le istruzioni e gli elementi della sintassi che IntelliSense supporta. Ad esempio, nel batch seguente, IntelliSense è disponibile per l'istruzione SELECT quando è codificata da sola, ma non quando SELECT è contenuta in un'istruzione 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
Questa funzionalità si applica anche ai set di istruzioni Transact-SQL nella clausola AS di un'istruzione CREATE PROCEDURE o ALTER PROCEDURE.
All'interno di uno script o un batch Transact-SQL, IntelliSense supporta gli oggetti che sono stati specificati in un'istruzione CREATE o ALTER, ma questi oggetti non esistono nel database perché le istruzioni non sono state eseguite. È possibile ad esempio immettere nell'editor di query il codice seguente:
USE MyTestDB;
GO
CREATE TABLE MyTable
(PrimaryKeyCol INT PRIMARY KEY,
FirstNameCol NVARCHAR(50),
LastNameCol NVARCHAR(50));
GO
SELECT
Quando si digita SELECT, IntelliSense elenca PrimaryKeyCol, FirstNameCol e LastNameCol come possibili elementi dell'elenco di selezione, anche se lo script non è stato eseguito e MyTable non esiste ancora in MyTestDB.