Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo administrar y editar la base de datos SqlServer?

¿Cómo administrar y editar la base de datos SqlServer?

La gestión de datos significa que usted establece índices de relación de clave primaria y externa en la tabla de datos. Editar el programa significa que escribe procedimientos almacenados o activa procedimientos almacenados: cree un procedimiento con el nombre del procedimiento almacenado, parámetro 1, parámetro 2. . . . como disparador de código de cuerpo: más complejo CREATE TRIGGER trigger_name

ON { vista de tabla }

[ CON ENCRIPTACIÓN ]

{

{ { PARA | DESPUÉS | EN LUGAR DE } { [ INSERTAR ] [ , ] [ ACTUALIZAR ] }

[ CON ANEXO ]

[ NO PARA REPLICACIÓN ]

COMO

[ { SI ACTUALIZAR ( columna )

[ { Y O } ACTUALIZAR ( columna ) ]

[ ...n ]

| IF ( COLUMNS_UPDATED ( ) máscara_bit_actualizada )

máscara_bit_columna [ ...n ]

} ]

declaración_sql [ ...n ]

}

}

Parámetros

trigger_name

es el nombre del disparador. Los nombres de los activadores deben cumplir con las reglas de identificación y deben ser únicos dentro de la base de datos. Es opcional especificar un nombre de propietario del activador.

Vista de tabla |

Es una tabla o vista en la que se ejecuta un disparador, a veces denominada tabla de disparadores o vista de disparadores. Opcionalmente, especifique el nombre del propietario de la tabla o vista.

CON ENCRYPTION

Cifra las entradas en la tabla de comentarios del sistema que contienen el texto de la instrucción CREATE TRIGGER. Utilice CON ENCRYPTION para evitar que se publiquen desencadenadores como parte de la replicación de SQL Server.

DESPUÉS

Especifica que el activador se activa solo después de que todas las operaciones especificadas en la instrucción SQL activadora se hayan ejecutado correctamente. Todas las operaciones en cascada de referencia y las comprobaciones de restricciones también deben completarse correctamente antes de que se pueda ejecutar este activador.

AFTER es el valor predeterminado si solo se especifica la palabra clave FOR.

El disparador DESPUÉS no se puede definir en una vista.

EN LUGAR DE

Especifica que el disparador debe ejecutarse en lugar de la instrucción SQL desencadenante, reemplazando así la acción de la declaración desencadenante.

Se puede definir hasta un activador INSTEAD OF por instrucción INSERT, UPDATE o DELETE en una tabla o vista. Sin embargo, las vistas se pueden definir en cada vista que tenga un activador EN LUGAR DE.

EN LUGAR DE, los activadores no se pueden definir en vistas actualizables CON LA OPCIÓN DE VERIFICACIÓN.

SQL Server genera un error si agrega un disparador EN LUGAR DE a una vista actualizable que especifica la opción CON CHECK OPTION. El usuario debe eliminar esta opción con ALTER VIEW antes de definir un disparador INSTEAD OF.

{ [BORRAR] [,] [INSERT] [,] [ACTUALIZAR] }

es la clave para especificar qué declaraciones de modificación de datos activarán el disparador cuando se ejecute en la tabla o Ver personaje. Se debe especificar al menos una opción. Se permite cualquier combinación de estas palabras clave en una definición de activador. Si se especifica más de una opción, separe las opciones con comas.

Para los activadores EN LUGAR DE, la opción ELIMINAR no está permitida en una tabla con una relación de referencia de operación en cascada ON ELIMINAR. Del mismo modo, la opción ACTUALIZAR no está permitida en una tabla con una relación de referencia de operación en cascada ON UPDATE.

WITH APPEND

Especifica que se deben agregar activadores adicionales de tipos existentes. Esta cláusula opcional sólo es necesaria cuando el nivel de compatibilidad es 65 o inferior. Si el nivel de compatibilidad es 70 o superior, no es necesario utilizar la cláusula FROM APPEND para agregar activadores adicionales de tipos existentes (este es el comportamiento predeterminado de CREATE TRIGGER con el nivel de compatibilidad establecido en 70 o superior). Para obtener más información, consulte sp_dbcmptlevel.

WITH APPEND no se puede usar con un disparador INSTEAD OF, o si se declara explícitamente un disparador DESPUÉS, esta cláusula no se puede usar. CON APPEND sólo se puede utilizar cuando se especifica FOR para compatibilidad con versiones anteriores (sin INSTEAD OF o AFTER). CON APPEND y FOR no serán compatibles en versiones futuras (se interpretarán como DESPUÉS).

NO PARA REPLICACIÓN

Indica que el disparador no debe ejecutarse cuando el proceso de replicación cambia las tablas involucradas en el disparador.

AS

es la acción que realizará el disparador.

sql_statement

es la condición y operación del disparador. Las condiciones de activación especifican criterios adicionales para determinar si una instrucción DELETE, INSERT o UPDATE provoca que se realice una acción de activación.

Cuando se intenta una operación DELETE, INSERT o UPDATE, la acción desencadenante especificada en la instrucción Transact-SQL entrará en vigor.

Un disparador puede contener cualquier número y tipo de instrucciones Transact-SQL. Un activador está diseñado para verificar o cambiar datos basándose en declaraciones de modificación de datos; no debe devolver datos al usuario. Las declaraciones Transact-SQL en los desencadenadores suelen contener lenguaje de flujo de control. Se utilizan varias tablas especiales en la instrucción CREATE TRIGGER:

* eliminadas e insertadas son tablas lógicas (conceptuales). Estas tablas son similares en estructura a las tablas en las que se definen los activadores (es decir, las tablas en las que se intentan las operaciones del usuario; estas tablas se utilizan para contener valores antiguos o nuevos para las filas que pueden ser modificadas por las operaciones del usuario); Por ejemplo, para recuperar todos los valores de la tabla eliminada, utilice:

SELECT *

FROM eliminado

* Si el nivel de compatibilidad es igual a 70 , luego en DELETE SQL Server no permitirá referencias a columnas text, ntext o image en tablas insertadas y eliminadas en los activadores , INSERT o UPDATE.

No se puede acceder a los valores text, ntext e image de las tablas insertadas y eliminadas. Para recuperar nuevos valores en un disparador INSERT o UPDATE, una la tabla insertada con la tabla de actualización original. Cuando el nivel de compatibilidad es 65 o inferior, se devuelven valores nulos para las columnas de texto, ntext o imagen en la tabla insertada o eliminada que permiten valores nulos; si estas columnas no admiten valores NULL, se devuelve una cadena de longitud cero.

Cuando el nivel de compatibilidad es 80 o superior, SQL Server permite actualizaciones de columnas de texto, ntext o imagen a través de un activador INSTEAD OF en una tabla o vista.

n

es un marcador de posición que indica que el desencadenador puede contener varias instrucciones Transact-SQL. Para una declaración IF UPDATE (columna), puede incluir varias columnas repitiendo la cláusula UPDATE (columna).

IF UPDATE (columna)

Prueba una operación INSERT o UPDATE en la columna especificada. No se puede utilizar para operaciones DELETE. Se pueden especificar varias columnas. Dado que el nombre de la tabla se especifica en la cláusula ON, no incluya el nombre de la tabla antes del nombre de la columna en la cláusula IF UPDATE. Para probar una operación INSERT o UPDATE en varias columnas, especifique cláusulas UPDATE(columna) separadas después de la primera operación. IF UPDATE devuelve un valor VERDADERO en una operación INSERT porque las columnas tienen valores explícitos o implícitos (NULL) insertados.

Explicación La cláusula IF UPDATE (columna) es funcionalmente equivalente a la declaración IF, IF...ELSE o WHILE, y puede usar el bloque de declaración BEGIN...END. Para obtener más información, consulte Idiomas de flujo de control.

ACTUALIZAR (columna) se puede utilizar en cualquier parte del cuerpo del disparador.

columna

es el nombre de la columna para probar la operación INSERT o UPDATE. La columna puede ser cualquier tipo de datos admitido por SQL Server. Sin embargo, las columnas calculadas no se pueden utilizar en este entorno. Consulte Tipos de datos para obtener más información.

IF (COLUMNS_UPDATED())

Prueba si la columna mencionada fue insertada o actualizada, solo se usa en activadores INSERT o UPDATE. COLUMNS_UPDATED Devuelve un patrón de bits varbinary que indica qué columnas de la tabla se insertaron o actualizaron.

La función COLUMNS_UPDATED devuelve los bits en orden de izquierda a derecha, siendo el bit más a la izquierda el bit menos significativo. El bit más a la izquierda representa la primera columna de la tabla; el siguiente bit a la derecha representa la segunda columna, y así sucesivamente. Si el activador creado en una tabla contiene más de 8 columnas, COLUMNS_UPDATED devuelve varios bytes, siendo el byte más a la izquierda el menos significativo. En una operación INSERT, COLUMNS_UPDATED devuelve TRUE para todas las columnas para las que se insertaron valores explícitos o implícitos (NULL).

COLUMNS_UPDATED se puede utilizar en cualquier parte del cuerpo del disparador.

bitwise_operator

es un operador bit a bit utilizado para operaciones de comparación.

updated_bitmask

es una máscara de bits entera que representa la columna actual actualizada o insertada. Por ejemplo, la tabla t1 contiene las columnas C1, C2, C3, C4 y C5.

Supongamos que hay un activador de ACTUALIZACIÓN en la tabla t1. Para verificar si las columnas C2, C3 y C4 están actualizadas, especifique un valor de 14; para verificar si solo la columna C2 está actualizada, especifique un valor de 2.

comparison_operator

es un operador de comparación. Utilice el signo igual (=) para comprobar si todas las columnas especificadas en update_bitmask se actualizaron realmente. Utilice el signo mayor que (gt;) para comprobar si alguna columna o columnas especificadas en update_bitmask se han actualizado.

column_bitmask

Es una máscara de bits entera de las columnas que se van a verificar para ver si estas columnas se han actualizado o insertado.