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

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 e di 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 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.

Vedere anche

Altre risorse