0% encontró este documento útil (0 votos)
39 vistas3 páginas

Diferencias entre Trigger, Function y Stored Procedure

El documento explica las diferencias entre un trigger, una función y un procedimiento almacenado. Un trigger se ejecuta automáticamente en respuesta a eventos como inserciones, borrados o actualizaciones en una tabla. Una función siempre devuelve un valor y un procedimiento almacenado es un programa almacenado en una base de datos que se ejecuta en respuesta a una solicitud del usuario.

Cargado por

Wester Veriguete
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
39 vistas3 páginas

Diferencias entre Trigger, Function y Stored Procedure

El documento explica las diferencias entre un trigger, una función y un procedimiento almacenado. Un trigger se ejecuta automáticamente en respuesta a eventos como inserciones, borrados o actualizaciones en una tabla. Una función siempre devuelve un valor y un procedimiento almacenado es un programa almacenado en una base de datos que se ejecuta en respuesta a una solicitud del usuario.

Cargado por

Wester Veriguete
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

create database dbt7

use dbt7

/*

-- Diferencia entre “Trigger”, “Function” y “Stored Procedure”.

----------------------------------------------------------------------------------------------------------------------------- ---

Trigger: Es un objeto que se asocia con tablas y se almacena en la base de datos. Su nombre se deriva
por el comportamiento

que presentan en su funcionamiento, ya que se ejecutan cuando sucede algún evento sobre las tablas a
las que se encuentra

asociado. Los eventos que hacen que se ejecute un trigger son las operaciones de inserción, borrado o
actualización, ya que

modifican los datos de una tabla.

----------------------------------------------------------------------------------------------------------------------------- ---

Function: Es una variante del procedimiento almacenado, pero estos siempre retornan con datos

de algún tipo especifico, no como los trigger ni los store procedure.

----------------------------------------------------------------------------------------------------------------------------- ---

Stored Procedure: Es un programa almacenado físicamente en

una base de datos. Su implementación varia de un gestor de bases de datos a otros. La ventaja de un
procedimiento almacenado es

que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de
bases de datos, el cual

usualmente corre en un servidor separado.

----------------------------------------------------------------------------------------------------------------------------- ---

*/

create table Cliente(

Id int primary key not null identity,

nombre varchar(50),

fechaIng date,
FechaNac date,

estado int

);

create table Cliente_hist(

Id int primary key not null,

nombre varchar(50),

fechaIng date,

Fecha_movido date,

);

------------------------------------------Edad------------------------------------------------------------

alter function edad_cliente (@id int) returns int

as

begin

declare @fechactual date

declare @fechanac date

declare @edad int

select @fechanac = FechaNac from Cliente where Id=@id

select @fechactual = GETDATE()

set @edad = CONVERT(int, YEAR(@fechactual))-CONVERT(int,YEAR(@fechanac))

return @edad

end

select Nombre, dbo.edad_cliente(5) as Edad

from Cliente where Id=5

select CONVERT(int,YEAR(fechaIng)) from Cliente truncate table Cliente


create or alter trigger tg_insertar_cliente on Cliente

after insert

as

begin

declare @id int

declare @fechaing date

declare @nombre varchar(50)

select @nombre = nombre from Cliente where Id=@id

select @fechaing= fechaIng from Cliente where Id = @id

select @id = Id from inserted

select @fechaing = fechaIng from inserted

insert into dbo.Cliente_hist(Id,nombre,fechaIng ,Fecha_movido) values (@id,@nombre,@fechaing,


GETDATE())

end

select*from Cliente_hist

select*from Cliente

insert into Cliente values

('Junior Guzman Casares','20220617','19871021',1),

('Maria Castañuelas Almonte','20181121','20020522',2),

('Angel Batista Baez','20160728','20000101',2),

('Ricardo Manzueta Arias','20230415','19951231',1),

('Altagracia Rios Martinez','20200331','19570909',2)

También podría gustarte