Sintaxis de Transact-SQL compatible con IntelliSense
En este tema se describen las instrucciones y los elementos de sintaxis de Transact-SQL que admite Transact-SQL IntelliSense.
Instrucciones admitidas por IntelliSense
Transact-SQL IntelliSense solamente admite las instrucciones Transact-SQL de uso más frecuente. Algunas condiciones generales pueden impedir el funcionamiento de IntelliSense. Para obtener más información, vea Solucionar problemas de Transact-SQL IntelliSense.
Nota
IntelliSense no está disponible para objetos de base de datos cifrados, como funciones definidas por el usuario o procedimientos almacenados cifrados. Las características de información de parámetros e información rápida no están disponibles para los parámetros de los procedimientos almacenados extendidos ni los tipos definidos por el usuario de la integración con CLR.
Instrucción SELECT
El Editor de Transact-SQL proporciona compatibilidad con IntelliSense para los elementos de sintaxis siguientes de la instrucción SELECT:
SELECT |
WHERE |
FROM |
ORDER BY |
HAVING |
UNION |
FOR |
GROUP BY |
TOP |
OPTION (sugerencia) |
Instrucciones Transact-SQL adicionales compatibles
El Editor de Transact-SQL también proporciona compatibilidad con IntelliSense para las instrucciones Transact-SQL que se muestran en la tabla siguiente.
Instrucción Transact-SQL |
Sintaxis compatible |
---|---|
INSERT |
Toda la sintaxis, excepto la cláusula execute_statement. |
UPDATE |
Toda la sintaxis. |
DELETE |
Toda la sintaxis. |
DECLARE @local_variable |
Toda la sintaxis. |
SET @local_variable |
Toda la sintaxis. |
EXECUTE |
Ejecución de procedimientos almacenados definidos por el usuario, procedimientos almacenados del sistema, funciones definidas por el usuario y funciones del sistema. |
CREATE TABLE |
Toda la sintaxis. |
CREATE VIEW |
Toda la sintaxis. |
CREATE PROCEDURE |
Toda la sintaxis, con las excepciones siguientes:
|
ALTER PROCEDURE |
Toda la sintaxis, con las excepciones siguientes:
|
USE |
Toda la sintaxis. |
IntelliSense en las instrucciones compatibles
Transact-SQL IntelliSense del Editor de Transact-SQL es compatible con los elementos de sintaxis siguientes cuando se usan en una de las instrucciones Transact-SQL:
Todos los tipos de combinación, incluida APPLY
PIVOT y UNPIVOT
Referencias a los objetos de base de datos siguientes:
Bases de datos y esquemas
Tablas, vistas, funciones con valores de tabla y expresiones de tabla
Columnas
Procedimientos y parámetros de procedimientos
Funciones escalares y expresiones escalares
Variables locales
Expresiones de tabla común (CTE)
Objetos de base de datos a los que solo se hace referencia en instrucciones CREATE o ALTER del script o del proceso por lotes, pero que no existen en la base de datos porque el script o el proceso por lotes no se han ejecutado todavía. Estos objetos son los siguientes:
Tablas y procedimientos especificados en una instrucción CREATE TABLE o CREATE PROCEDURE del script o del proceso por lotes.
Cambios en las tablas y los procedimientos especificados en una instrucción ALTER TABLE o ALTER PROCEDURE del script o del proceso por lotes.
Nota
La característica IntelliSense no estará disponible para las columnas de una instrucción CREATE VIEW hasta que se haya ejecutado la instrucción CREATE VIEW.
La característica IntelliSense no se proporciona para los elementos enumerados anteriormente cuando se usan en otras instrucciones Transact-SQL. Por ejemplo, los nombres de columna que se usan en una instrucción SELECT son compatibles con IntelliSense, pero no los de columnas que se usan en la instrucción CREATE FUNCTION.
Ejemplos
Dentro de un script o un proceso por lotes de Transact-SQL, la característica IntelliSense del Editor de Transact-SQL solamente es compatible con las instrucciones y la sintaxis mencionadas en este tema. En los ejemplos de código de Transact-SQL siguientes se muestran las instrucciones y los elementos de sintaxis admitidos por IntelliSense. Por ejemplo, en el proceso por lotes siguiente, la característica IntelliSense está disponible para la instrucción SELECT cuando se codifica por sí misma, pero no cuando la instrucción SELECT está contenida en una instrucción 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
Esta funcionalidad también se aplica a los conjuntos de instrucciones Transact-SQL de la cláusula AS de una instrucción CREATE PROCEDURE o ALTER PROCEDURE.
Dentro de un script o un proceso por lotes de Transact-SQL, la característica IntelliSense es compatible con los objetos que se han especificado en una instrucción CREATE o ALTER; sin embargo, estos objetos no existen en la base de datos porque no se han ejecutado las instrucciones. Por ejemplo, puede escribir el código siguiente en el Editor de Transact-SQL:
USE MyTestDB;
GO
CREATE TABLE MyTable
(PrimaryKeyCol INT PRIMARY KEY,
FirstNameCol NVARCHAR(50),
LastNameCol NVARCHAR(50));
GO
SELECT
Después de escribir SELECT, IntelliSense enumera PrimaryKeyCol, FirstNameCol y LastNameCol como posibles elementos en la lista de selección, aunque no se haya ejecutado el script y MyTable no exista todavía en MyTestDB.
Vea también
Otros recursos
Información general de Transact-SQL IntelliSense
Usar la coincidencia de delimitadores de Transact-SQL