Condividi tramite


Transact-SQL sintassi supportata da IntelliSense

si applica a:SQL Serverdatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsAnalytics 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.