creaci贸n de ind铆ce sobre vista
hola, he intentado crear un ind铆ce sobre una vista y al ejecutar la instrucci贸n me devuelve este mensaje:
"Cannot create index on view 'VentaCSRview' because the view is not schema bound."
He buscado documentaci贸n al respecto y no he encontrado nada.Gracias por la atenci贸n.
"Cannot create index on view 'VentaCSRview' because the view is not schema bound."
He buscado documentaci贸n al respecto y no he encontrado nada.Gracias por la atenci贸n.
Para poder crear INDICES en vistas, se deben serguir ciertas reglas:
a.. Las opciones ANSI_NULLS y QUOTED_IDENTIFIER deben establecerse en ON
cuando se ejecute la instrucci贸n CREATE VIEW. La funci贸n OBJECTPROPERTY
presenta estos resultados para las vistas mediante las propiedades
ExecIsAnsiNullsOn o ExecIsQuotedIdentOn.
b.. La opci贸n ANSI_NULLS debe establecerse en ON para poder ejecutar todas
las instrucciones CREATE TABLE, que crean tablas a las que se hace
referencia en la vista.
c.. La vista no debe hacer referencia a ninguna otra vista, s贸lo a tablas
base.
d.. Todas las tablas base a las que hace referencia la vista deben estar
en la misma base de datos que 茅sta y tener su mismo propietario.
e.. Esta vista se debe crear con la opci贸n SCHEMABINDING. Mediante la
opci贸n SCHEMABINDING se asocia la vista al esquema de las tablas base
subyacentes.
f.. Las funciones definidas por el usuario a las que se hace referencia en
la vista se deben crear con la opci贸n SCHEMABINDING.
g.. Es preciso utilizar nombres compuestos de dos partes para hacer
referencia a las tablas y funciones definidas por el usuario. No se permiten
nombres de una, tres y cuatro partes.
h.. Todas las funciones a las que se hace referencia en las expresiones de
la vista deben ser deterministas. La propiedad IsDeterministic de la funci贸n
OBJECTPROPERTY informa de si una funci贸n definida por el usuario es
determinista. Para obtener m谩s informaci贸n, consulte Funciones deterministas
y no deterministas.
i.. La instrucci贸n SELECT de la vista no puede contener los siguientes
elementos de sintaxis Transact-SQL:
a.. La lista de selecci贸n no puede utilizar la sintaxis * o table_name.*
para especificar columnas. Los nombres de columnas deben especificarse
expl铆citamente.
b.. Un nombre de columna de tabla utilizado como una expresi贸n sencilla
no puede especificarse en m谩s de una columna de vista. Se puede hacer
referencia a una columna varias veces siempre que todas las referencias, o
todas menos una, a la columna formen parte de una expresi贸n compleja o de un
par谩metro de una funci贸n. Por ejemplo, esta lista de selecci贸n no es v谩lida:
SELECT ColumnA, ColumnB, ColumnA
Estas listas de selecci贸n s铆 son v谩lidas:
SELECT ColumnA, AVG(ColumnA), ColumnA + Column B AS AddColAColB
SELECT SUM(ColumnA), ColumnA % ColumnB AS ModuloColAColB
c.. Una tabla derivada.
d.. Funciones de conjunto de filas.
e.. UNION, operador.
f.. Subconsultas.
g.. Combinaciones externas y autocombinaciones.
h.. Cl谩usula TOP.
i.. Cl谩usula ORDER BY.
j.. DISTINCT, palabra clave.
k.. COUNT(*) (se permite COUNT_BIG(*))
a.. Las opciones ANSI_NULLS y QUOTED_IDENTIFIER deben establecerse en ON
cuando se ejecute la instrucci贸n CREATE VIEW. La funci贸n OBJECTPROPERTY
presenta estos resultados para las vistas mediante las propiedades
ExecIsAnsiNullsOn o ExecIsQuotedIdentOn.
b.. La opci贸n ANSI_NULLS debe establecerse en ON para poder ejecutar todas
las instrucciones CREATE TABLE, que crean tablas a las que se hace
referencia en la vista.
c.. La vista no debe hacer referencia a ninguna otra vista, s贸lo a tablas
base.
d.. Todas las tablas base a las que hace referencia la vista deben estar
en la misma base de datos que 茅sta y tener su mismo propietario.
e.. Esta vista se debe crear con la opci贸n SCHEMABINDING. Mediante la
opci贸n SCHEMABINDING se asocia la vista al esquema de las tablas base
subyacentes.
f.. Las funciones definidas por el usuario a las que se hace referencia en
la vista se deben crear con la opci贸n SCHEMABINDING.
g.. Es preciso utilizar nombres compuestos de dos partes para hacer
referencia a las tablas y funciones definidas por el usuario. No se permiten
nombres de una, tres y cuatro partes.
h.. Todas las funciones a las que se hace referencia en las expresiones de
la vista deben ser deterministas. La propiedad IsDeterministic de la funci贸n
OBJECTPROPERTY informa de si una funci贸n definida por el usuario es
determinista. Para obtener m谩s informaci贸n, consulte Funciones deterministas
y no deterministas.
i.. La instrucci贸n SELECT de la vista no puede contener los siguientes
elementos de sintaxis Transact-SQL:
a.. La lista de selecci贸n no puede utilizar la sintaxis * o table_name.*
para especificar columnas. Los nombres de columnas deben especificarse
expl铆citamente.
b.. Un nombre de columna de tabla utilizado como una expresi贸n sencilla
no puede especificarse en m谩s de una columna de vista. Se puede hacer
referencia a una columna varias veces siempre que todas las referencias, o
todas menos una, a la columna formen parte de una expresi贸n compleja o de un
par谩metro de una funci贸n. Por ejemplo, esta lista de selecci贸n no es v谩lida:
SELECT ColumnA, ColumnB, ColumnA
Estas listas de selecci贸n s铆 son v谩lidas:
SELECT ColumnA, AVG(ColumnA), ColumnA + Column B AS AddColAColB
SELECT SUM(ColumnA), ColumnA % ColumnB AS ModuloColAColB
c.. Una tabla derivada.
d.. Funciones de conjunto de filas.
e.. UNION, operador.
f.. Subconsultas.
g.. Combinaciones externas y autocombinaciones.
h.. Cl谩usula TOP.
i.. Cl谩usula ORDER BY.
j.. DISTINCT, palabra clave.
k.. COUNT(*) (se permite COUNT_BIG(*))
