



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Base de dato en sql, para la evaluacion final de unidades
Tipo: Apuntes
1 / 5
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Este código SQL crea un disparador (trigger) en la tabla Ventas que se ejecuta después de una operación de actualización (UPDATE). Aquí se describe cada línea y comando del código: CREATE TRIGGER tr_update_sv ON Ventas FOR UPDATE AS BEGIN CREATE TRIGGER tr_update_sv: Crea un nuevo disparador llamado tr_update_sv. ON Ventas: Especifica que el disparador se aplicará a la tabla Ventas. FOR UPDATE: Indica que el disparador se ejecutará después de una operación de actualización (UPDATE) en la tabla Ventas. AS: Comienza la definición del cuerpo del disparador. BEGIN: Marca el inicio del bloque de código que se ejecutará cuando se dispare el disparador. -- Variables para almacenar los valores actualizados DECLARE @IdVenta0 int; DECLARE @Fecha0 datetime; DECLARE @Folio0 nvarchar(50); DECLARE @IdEmpleado0 int; DECLARE @IdCliente0 int; DECLARE @Factura0 bit; DECLARE @IdTienda0 int; DECLARE @IdVenta0 int;: Declara una variable llamada @IdVenta0 de tipo entero para almacenar el IdVenta actualizado. DECLARE @Fecha0 datetime;: Declara una variable llamada @Fecha0 de tipo fecha y hora para almacenar el valor Fecha actualizado. DECLARE @Folio0 nvarchar(50);: Declara una variable llamada @Folio0 de tipo cadena de caracteres de longitud variable (hasta 50 caracteres) para almacenar el valor Folio actualizado. DECLARE @IdEmpleado0 int;: Declara una variable llamada @IdEmpleado0 de tipo entero para almacenar el valor IdEmpleado actualizado. DECLARE @IdCliente0 int;: Declara una variable llamada @IdCliente0 de tipo entero para almacenar el valor IdCliente actualizado. DECLARE @Factura0 bit;: Declara una variable llamada @Factura0 de tipo bit para almacenar el valor Factura actualizado. DECLARE @IdTienda0 int;: Declara una variable llamada @IdTienda0 de tipo entero para almacenar el valor IdTienda actualizado. -- Obtener los valores actualizados de la tabla 'inserted'
@IdVenta0 = IdVenta, @Fecha0 = Fecha, @Folio0 = Folio, @IdEmpleado0 = IdEmpleado, @IdCliente0 = IdCliente, @Factura0 = Factura, @IdTienda0 = IdTienda FROM inserted; SELECT ... FROM inserted;: Obtiene los valores actualizados de la tabla inserted (una tabla especial que contiene los registros afectados por la operación UPDATE) y los asigna a las variables previamente declaradas. -- Actualizar la tabla en el servidor remoto UPDATE [25.51.217.138].unidad4.dbo.Ventas SET Fecha = @Fecha0, Folio = @Folio0, IdEmpleado = @IdEmpleado0, IdCliente = @IdCliente0, Factura = @Factura0, IdTienda = @IdTienda WHERE IdVenta = @IdVenta0; END; UPDATE [25.51.217.138].unidad4.dbo.Ventas : Actualiza la tabla Ventas en el servidor remoto con la dirección IP 25.51.217.138, base de datos unidad4 y esquema dbo. SET ...: Asigna los valores de las variables a las correspondientes columnas de la tabla Ventas en el servidor remoto. WHERE IdVenta = @IdVenta0 ;: Especifica que la actualización solo se debe aplicar al registro cuyo IdVenta coincide con el valor de @IdVenta0. END: Marca el final del bloque de código del disparador.
@Factura0 = Factura @IdTienda0 = IdTienda FROM inserted;: La tabla inserted es una tabla virtual que contiene las filas que se acaban de insertar en la tabla Ventas. Esta línea asigna los valores de la fila recién insertada a las variables declaradas.
INSERT INTO con Valores de las Variables INSERT INTO [25.51.217.138].unidad4.dbo.Ventas(IdVenta, Fecha, Folio, IdEmpleado, IdCliente, Factura, IdTienda): Especifica que se va a insertar una nueva fila en la tabla Ventas ubicada en el servidor con la dirección IP 25.51.217.138, dentro de la base de datos unidad4 y el esquema dbo. VALUES (@IdVenta0, @Fecha0, @Folio0, @IdEmpleado0, @IdCliente0, @Factura0, @IdTienda0);: Inserta una nueva fila en la tabla de destino utilizando los valores almacenados en las variables locales.
END END: Marca el final del bloque de instrucciones del trigger. Este trigger se activa después de que una fila es insertada en la tabla Ventas. Captura los valores de los campos de la fila recién insertada y los utiliza para insertar una fila idéntica en una tabla Ventas ubicada en una base de datos en otro servidor (especificado por la dirección IP). Este mecanismo puede ser útil en escenarios de replicación de datos o sincronización entre diferentes bases de datos. La cláusula WHERE se utiliza en sentencias SQL para filtrar registros y seleccionar solo aquellos que cumplen una condición específica. La sentencia UPDATE se utiliza para modificar los registros existentes en una tabla. DELETE se utiliza para eliminar registros existentes de una tabla. INSERT INTO se utiliza para agregar nuevos registros a una tabla. La cláusula SET se utiliza en la sentencia UPDATE para especificar las columnas y los valores que se van a actualizar. En SQL, @ se utiliza para declarar y utilizar variables locales. @id sería una variable llamada id. La sentencia DECLARE se utiliza para declarar variables locales en SQL. La sentencia BEGIN se utiliza para iniciar un bloque de instrucciones. Generalmente se utiliza en triggers, transacciones y bloques de código. En SQL, el símbolo @ se utiliza para identificar variables locales. Las variables locales se declaran y utilizan dentro de un bloque de código, como en procedimientos almacenados, triggers o scripts ad-hoc. El uso del @ ayuda a diferenciar estas variables de las columnas de las tablas y otros objetos de la base de datos.