Condividi tramite


Sintassi Transact-SQL supportata da IntelliSense

In questo argomento vengono descritti gli elementi di sintassi e le istruzioni Transact-SQL che sono supportati da Transact-SQL IntelliSense.

Istruzioni supportate da IntelliSense

In Transact-SQL IntelliSense sono supportate solo le istruzioni Transact-SQL di uso più frequente. Alcune condizioni generali potrebbero impedire il corretto 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à Informazioni sul parametro e Informazioni rapide non sono disponibili per i parametri di stored procedure estese e per i tipi definiti dall'utente di integrazione CLR.

Istruzione SELECT

L'editor Transact-SQL fornisce supporto IntelliSense per i seguenti elementi di sintassi nell'istruzione SELECT:

SELECT

WHERE

FROM

ORDER BY

HAVING

UNION

FOR

GROUP BY

TOP

OPTION (suggerimento)

Ulteriori istruzioni Transact-SQL supportate

L'editor Transact-SQL fornisce inoltre supporto IntelliSense per le istruzioni Transact-SQL illustrate nella tabella che segue.

Istruzione Transact-SQL

Sintassi supportata

INSERT

Tutta la sintassi, eccetto la clausola execute_statement.

UPDATE

Tutta la sintassi.

DELETE

Tutta la sintassi.

DECLARE @local_variable

Tutta la sintassi.

SET @local_variable

Tutta la sintassi.

EXECUTE

Esecuzione di stored procedure definite dall'utente e di sistema, funzioni definite dall'utente e di sistema.

CREATE TABLE

Tutta la sintassi.

CREATE VIEW

Tutta la sintassi.

CREATE PROCEDURE

Tutta la sintassi, con le eccezioni seguenti:

  • Non è disponibile supporto 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, con le eccezioni seguenti:

  • Non è disponibile supporto IntelliSense per la clausola EXTERNAL NAME.

  • Nella clausola AS IntelliSense supporta solo le istruzioni e la sintassi elencate in questo argomento.

USE

Tutta la sintassi.

IntelliSense nelle istruzioni supportate

Nell'editor Transact-SQL di Transact-SQL IntelliSense sono supportati i seguenti elementi di sintassi quando sono utilizzati in una delle seguenti istruzioni Transact-SQL supportate:

  • Tutti i tipi di join, incluso APPLY

  • PIVOT e UNPIVOT

  • Riferimenti agli oggetti di database seguenti:

    • Database e schemi

    • Tabelle, visualizzazioni, 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 è disponibile per le colonne di un'istruzione CREATE VIEW dopo che è 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 Transact-SQL IntelliSense supporta solo le istruzioni e la sintassi elencate in questo argomento. Negli esempi di codice Transact-SQL seguenti sono mostrati gli elementi della sintassi e le istruzioni 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 AdventureWorks;
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 AdventureWorks.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 Transact-SQL 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.

Vedere anche

Altre risorse

Cenni preliminari su Transact-SQL IntelliSense

Utilizzo della corrispondenza tra delimitatori di Transact-SQL

Utilizzo di frammenti di codice Transact-SQL

Risoluzione dei problemi relativi a Transact-SQL IntelliSense