Triggers o disparadores
Los triggers o disparadores son un tipo especial de procedimiento almacenado en los Sistemas Gestores de Bases de Datos (SGBD), que es ejecutado en el momento en que se active un evento en la base de datos a nivel del lenguaje de manipulación de datos (LMD), el lenguaje de definición de datos (LDF) o bien en el momento de acceso del SGBD.
En este caso hablaremos de los triggers LMD, los cuales con ejecutados al momento de realizar algún evento sobre los datos de tipo de inserción, modificación o borrado de alguna tabla en particular.
Este tipo de trigger se define independientemente del código de creación de la tablas, sin embargo debe quedar asociada a alguna de estas. La sintaxis a seguir es la siguiente:
En este caso hablaremos de los triggers LMD, los cuales con ejecutados al momento de realizar algún evento sobre los datos de tipo de inserción, modificación o borrado de alguna tabla en particular.
Este tipo de trigger se define independientemente del código de creación de la tablas, sin embargo debe quedar asociada a alguna de estas. La sintaxis a seguir es la siguiente:
Trigger on an INSERT, UP
DATE, or DELETE statement to a table or view (DML Trigger)
CREATE TRIGGER [ schema_name . ]trigger_name
ON { table | view }
[ WITH <dml_trigger_option> [ ,...n ] ]
{ FOR | AFTER | INSTEAD OF }
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
[ NOT FOR REPLICATION ]
AS { sql_statement [ ; ] [ ,...n ] | EXTERNAL NAME <method specifier [ ; ] > }
<dml_trigger_option> ::=
[ ENCRYPTION ]
[ EXECUTE AS Clause ]
<method_specifier> ::=
assembly_name.class_name.method_name
CREATE TRIGGER [ schema_name . ]trigger_name
ON { table | view }
[ WITH <dml_trigger_option> [ ,...n ] ]
{ FOR | AFTER | INSTEAD OF }
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
[ NOT FOR REPLICATION ]
AS { sql_statement [ ; ] [ ,...n ] | EXTERNAL NAME <method specifier [ ; ] > }
<dml_trigger_option> ::=
[ ENCRYPTION ]
[ EXECUTE AS Clause ]
<method_specifier> ::=
assembly_name.class_name.method_name
Cursores
Los cursores son una herramienta eficaz para la manipulación de lo datos en operaciones que requieran el acceso secuencial de la información en modo tupla por tupla.
En muchas ocaciones se requiere realizar modificaciones individuales en cada tupa de una o varias tablas, basado en la respuesta de un subconsulta por lo que resulta imposible efectuarlo como una instrucción de borrado, o modificación en bloque, como normalmente se conocen.
La sintaxis para declarar cursores es la siguiente:
ISO Syntax
DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR
FOR select_statement
[ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ]
[;]
Transact-SQL Extended Syntax
DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ]
[ FORWARD_ONLY | SCROLL ]
[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]
[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]
[ TYPE_WARNING ]
FOR select_statement
[ FOR UPDATE [ OF column_name [ ,...n ] ] ]
Hola Leo,
ResponderEliminarAlgunas recomendaciones de mi parte:
- muy bueno el contraste para la lectura de fondo negro con letras blancas,
- el nombre del blog debe estar asociado al curso de la información que expones como "Base de datos",
- el fondo de gotitas de agua puede cambiarse por uno que identifique la materia o relacionado con el TEC.
Saludos.
Gracias Lore por tus comentarios! los tendré presentes para modificaciones futuras!
EliminarBien, nos haremos seguidores de este blog. Con respecto al comentario que te hacen de los colores, quisiera decir que el blanco sobre negro contrasta y se ve bien pero el gris sobre negro cuesta un poco leerlo. Es más cansado. Luego supongo, le darás más atención a la forma para que sea adecuado a los usuarios de tu blog.
ResponderEliminarsaludos
Leda
Hola compañero, recuerdo que alguna vez llevé en la U algún curso de programación semejante a éste. Pienso que este blog es una muy buena opción para un curso de este tipo, es interesante e importante el uso de ejemplos y ejercicios por este medio.
ResponderEliminarSaludos.
Hola Leo!!! aunque me gusto mucho el blog en cuanto a contenido creo que la visualización por los colores y hace un poco cansado al lector.. por lo que las sugerencias de Leda y Lorena son muy acertadas. saludos!!
ResponderEliminar