Transact-SQL sintassi supportata da IntelliSense
si applica a:SQL Server
database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Questo argomento descrive le istruzioni Transact-SQL e gli elementi della sintassi supportati da IntelliSense in SQL Server.
Istruzioni supportate da IntelliSense
In SQL Server, IntelliSense supporta solo le istruzioni Transact-SQL usate più di frequente. Alcune condizioni generali dell'editor di query del motore di database potrebbero impedire il funzionamento di IntelliSense. Per altre informazioni, vedere Risoluzione dei problemi di IntelliSense (SQL Server Management Studio).
Nota
IntelliSense non è disponibile per oggetti di database crittografati, ad esempio stored procedure crittografate o funzioni definite dall'utente. L'aiuto relativo ai parametri e le informazioni rapide non sono disponibili per i parametri delle procedure di archiviazione estese e dei tipi definiti dall'utente per l'integrazione CLR.
Istruzione SELECT
L'editor di query del motore di database fornisce il supporto di IntelliSense per gli elementi di sintassi seguenti nell'istruzione SELECT:
Seleziona
DOVE
DA
ORDER BY
AVENDO
UNIONE
PER
RAGGRUPPA PER
In alto
OPZIONE (suggerimento)
Dichiarazioni Transact-SQL aggiuntive che sono supportate
L'editor di query del motore di database fornisce anche il supporto di IntelliSense per le istruzioni Transact-SQL illustrate nella tabella seguente.
istruzione Transact-SQL | Sintassi supportata | Eccezioni |
---|---|---|
inserire | Tutta la sintassi, ad eccezione della clausola execute_statement. | Nessuno |
AGGIORNAMENTO | L'intera sintassi. | Nessuno |
ELIMINA | Tutta la sintassi. | Nessuno |
DECLARE @local_variable | Tutta la sintassi. | Nessuno |
SET @local_variable | Tutta la sintassi. | Nessuno |
ESEGUI | Esecuzione di stored procedure definite dall'utente, stored procedure di sistema, funzioni definite dall'utente e funzioni di sistema. | Nessuno |
CREATE TABLE | Tutta la sintassi. | Nessuno |
CREATE VIEW | Tutta la sintassi. | Nessuno |
CREATE PROCEDURE | Tutta la sintassi. | Non è disponibile alcun supporto di IntelliSense per la clausola EXTERNAL NAME. Nella clausola AS, IntelliSense supporta solo le istruzioni e la sintassi elencate in questo argomento. |
ALTER PROCEDURE | Tutta la sintassi | Non è disponibile alcun supporto di IntelliSense per la clausola EXTERNAL NAME. Nella clausola AS, IntelliSense supporta solo le istruzioni e la sintassi elencate in questo argomento. |
USE | L'intera sintassi. | Nessuno |
IntelliSense nelle istruzioni supportate
IntelliSense nell'editor di query del motore di database supporta gli elementi di sintassi seguenti quando vengono usati in una delle istruzioni Transact-SQL supportate:
Sono inclusi tutti i tipi di join, compreso 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 routine
Funzioni scalari ed espressioni scalari
Variabili locali
Espressioni di tabella comuni (CTE)
Oggetti di database a cui si fa riferimento solo nelle 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 alle tabelle e alle 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 quando non viene eseguita l'istruzione CREATE VIEW.
IntelliSense non viene fornito per gli elementi elencati in precedenza quando vengono usati in altre dichiarazioni Transact-SQL. Ad esempio, è disponibile il supporto di IntelliSense per i nomi di colonna usati in un'istruzione SELECT, ma non per le colonne usate nell'istruzione CREATE FUNCTION.
Esempi
All'interno di uno script o di un batch Transact-SQL, IntelliSense nell'editor di query del motore di database supporta solo le istruzioni e la sintassi elencate in questo argomento. Gli esempi di codice Transact-SQL seguenti illustrano le istruzioni e gli elementi della sintassi supportati da IntelliSense. Ad esempio, nel batch seguente, IntelliSense è disponibile per l'istruzione SELECT
quando viene codificata da sola, ma non quando il SELECT
è contenuto in un'istruzione 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
Questa funzionalità si applica anche ai gruppi di istruzioni Transact-SQL nella clausola AS di un'istruzione CREATE PROCEDURE o ALTER PROCEDURE.
All'interno di uno script Transact-SQL o batch, IntelliSense supporta gli oggetti specificati in un'istruzione CREATE o ALTER; Tuttavia, questi oggetti non esistono nel database perché le istruzioni non sono state eseguite. Ad esempio, è possibile immettere il codice seguente nell'editor di query:
USE MyTestDB;
GO
CREATE TABLE MyTable
(PrimaryKeyCol INT PRIMARY KEY,
FirstNameCol NVARCHAR(50),
LastNameCol NVARCHAR(50));
GO
SELECT
Dopo aver digitato SELECT
, IntelliSense elenca PrimaryKeyCol, FirstNameCole LastNameCol gli elementi possibili nell'elenco di selezione, anche se lo script non è stato eseguito e MyTable
non esiste ancora in MyTestDB
.