Está en la página 1de 3

create procedure Getestudiante ( @estudianteid int, @estudiantenombre varchar(50) Out ) as begin select @estudiantenombre = nombre +''+ apellido from

estudiante where estudianteid = @estudianteid end declare @estudiantenombre as varchar(50) execute Getestudiante 2, @estudiantenombre output select @estudiantenombre create procedure inserta_estudiante( @estudianteNombre varchar(20) = null, @estudianteApellido varchar(20), @estudianteEmail varchar(50)) as begin insert into dbo.Estudiante( nombre, apellido, email) values( @estudianteNombre, @estudianteApellido, @estudianteEmail ) end declare @estudianteNombre as varchar(20) declare @estudianteApellido as varchar(20) declare @estudianteEmail as varchar(50) Execute inserta_estudiante @estudianteNombre = 'carlos', @estudianteApellido = 'matos', @estudianteEmail = 'cmatos@abc.com' select * from estudiante

create procedure pr_cliente @clienteid int, @mensaje varchar(20) = null output as begin select COUNT(*) as cantidad from Orden where exists (select * from Cliente where Orden.idc = @clienteid) end drop proc pr_cliente execute pr_cliente 2 --@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --Triggers create trigger TRG_cuenta_cambio on dbo.estudiante after insert, update

as begin declare @estudianteID int, select @estudianteID = estudianteID from inserted update dbo.estudiante set contador = contador +1, Fecha_cambio = getdate() where estudianteid = @estudianteid end create trigger TRG_empleado on empleado instead of update as if(update(Nombre) or Update ( direccion)) begin insert into log_Transaccion (id, Nombre, direccion, fecha, accion) select id, Nombre, direccion, getdate(),'update' from inserted print 'Instead Off Trigger ejecutado' end create trigger trgIOInsert_emplead ON empleado instead of Insert as declare @emp_id int, @emp_nombre varchar(25), @emp_salario money, @accion varcha r(20), @fecha datetime select @emp_id = i.ID from inserted i select @emp_nombre = i.Nombre from inserted i select @emp_salario = i.salario from inserted i set @accion = 'insertar' begin begin tran if(@emp_salario <= 550) begin print @emp_salario raiseerror('salario minimo debe ser mayor que 550',16,1) rollback end else begin insert into log_transaccion2(ID,mombre,salario,accion,fecha) values(@emp_id,@emp_nombre,@emp_salario,@accion,getdate()) commit print'Instead Of Insert Trigger ejecutado' end end create trigger ddlcambios on database for alter_table as raiseerror ('Cambios en la estructura no estan permitidos',16,1) rollback --para DML solamente enable trigger TrgInsertaBorra on empleado_t disable trigger TrgInsetaBorra on empleado_t --Para DDl solamente enable trigger ddlcambios on Database disable trigger ddlcambios on Database

drop trigger ddlcambios on database

También podría gustarte