Compartir a través de


Modificar datos en vistas con particiones

Actualizado: 5 de diciembre de 2005

Si una vista con particiones no se puede actualizar, sólo se puede utilizar como copia de sólo lectura de la tabla original. Una vista con particiones actualizable puede tener todas las funciones de la tabla original.

Una vista se considera una vista con particiones actualizable si es un conjunto de instrucciones SELECT cuyos conjuntos de resultados individuales se combinan en uno solo mediante la instrucción UNION ALL. Cada instrucción SELECT hace referencia a una tabla base de SQL Server. La tabla puede ser una tabla local o una tabla vinculada a la que se hace referencia utilizando un nombre de cuatro partes o mediante la función OPENDATASOURCE (no se puede utilizar una función OPENDATASOURCE u OPENROWSET que especifique una consulta de paso a través).

Además, las instrucciones de modificación de datos que hacen referencia a la vista deben seguir las reglas definidas para las instrucciones INSERT, UPDATE y DELETE.

Si la vista con particiones está distribuida entre servidores, evite utilizar desencadenadores o acciones en cascada en las tablas base. El desencadenador o acción en cascada puede realizar cambios en los datos subyacentes que pueden afectar a la definición de la vista.

Las vistas distribuidas con particiones sólo se pueden actualizar si el usuario tiene permisos CONTROL, ALTER, TAKE OWNERSHIP o VIEW DEFINITION en cada tabla subyacente de la vista. Para obtener más información, vea Solucionar problemas de visibilidad de los metadatos en vistas distribuidas con particiones.

[!NOTA] Los datos sólo se pueden modificar mediante una vista distribuida con particiones si se instala Microsoft SQL Server 2005 Enterprise Edition o Microsoft SQL Server 2005 Developer Edition. Sin embargo, se pueden modificar datos mediante una vista local con particiones en cualquier edición de SQL Server 2005.

Instrucciones INSERT

Las instrucciones INSERT agregan datos a las tablas miembro mediante la vista con particiones. Las instrucciones INSERT deben seguir estas reglas:

  • Se deben incluir todas las columnas en la instrucción INSERT, incluso si la columna puede ser NULL en la tabla base o si tiene una restricción DEFAULT en la tabla base.
  • La palabra clave DEFAULT no se puede especificar en la cláusula VALUES de la instrucción INSERT.
  • Las instrucciones INSERT deben suministrar un valor que cumpla la lógica de la restricción CHECK definida en la columna de partición de una de las tablas miembro.
  • No se permiten instrucciones INSERT si una tabla miembro contiene una columna con una propiedad de identidad.
  • No se permiten instrucciones INSERT si una tabla miembro contiene una columna timestamp.
  • No se permiten instrucciones INSERT si hay una autocombinación con la misma vista o cualquiera de las tablas miembro.

Instrucciones UPDATE

Las instrucciones UPDATE modifican los datos de una o varias tablas miembro mediante la vista con particiones. Las instrucciones UPDATE deben seguir estas reglas:

  • Las instrucciones UPDATE no pueden especificar como valor la palabra clave DEFAULT, aunque la columna tenga definido un valor DEFAULT en la tabla miembro correspondiente.
  • No se puede cambiar el valor de una columna con una propiedad de identidad; sin embargo, se pueden actualizar las otras columnas.
  • No se puede cambiar el valor de PRIMARY KEY si la columna contiene datos text, image o ntext.
  • Si una tabla base contiene una columna timestamp, no se permiten actualizaciones.
  • No se permiten actualizaciones si hay una autocombinación con la misma vista o cualquiera de las tablas miembro.

Instrucciones DELETE

Las instrucciones DELETE quitan los datos de una o varias tablas miembro mediante la vista con particiones. No se permiten instrucciones DELETE si hay una autocombinación con la misma vista o cualquiera de las tablas miembro.

Vea también

Conceptos

Implementar servidores de bases de datos federadas

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

5 de diciembre de 2005

Contenido nuevo:
  • Se agregó información sobre los permisos necesarios para actualizar una vista distribuida con particiones.
Contenido modificado:
  • Se quitó el siguiente texto: "En el caso de una vista con particiones que sea local de un servidor, la vista no es actualizable si se ha definido un desencadenador o una actualización o eliminación en cascada en una o varias tablas miembro."