Gracias por tu visita y participar en este curso, si te gusta por favor subscríbete, dame tu like y comparte para seguir creciendo y publicando mas lecciones, esto me ayudaría mucho. Tambien para recibir las notificaciones de las nuevas lecciones que iré subiendo paulatinamente CONTACTO: informaticonfig@gmail.com COLABORACION: paypal.me/informaticonfig patreon.com/informaticonfig
Combinando los tres casos de instead of : ) create or alter trigger t_blockinsert_productos on productos instead of insert, update, delete as begin if exists(select 0 from inserted) begin if exists (select 0 from deleted) begin set nocount on -- bloquear mensaje de consola insert into control_producto values (suser_name(),getdate(),right(getdate(),8),'Intentó un update') print 'No es posible actualizar datos en esta tabla, joven' end else begin set nocount on -- bloquear mensaje de consola insert into control_producto values (suser_name(),getdate(),right(getdate(),8),'Intentó un insert') print 'No es posible insertar datos en esta tabla, joven' end end else begin set nocount on -- bloquear mensaje de consola insert into control_producto values (suser_name(),getdate(),right(getdate(),8),'Intentó un delete') print 'No es posible eliminar datos en esta tabla, joven' end end
Que curioso en el ultimo INSTEAD OF DELETE el mensaje es cero row affected (0 row affected) pero el TRIGGER si me da resultado en la tabla control_productos
Hola profesor, una duda con la instrucción "set nocount on". Tengo entendido nos decía que era para que no se mostrara mensajes en la consola pero al ejecutar los códigos en los ejemplos de ésta clase, se sigue mostrando lo de (1 row affected), entonces qué hace el "set nocount on"? Muchas gracias
Gracias por tu visita y participar en este curso, si te gusta por favor subscríbete, dame tu like y comparte
para seguir creciendo y publicando mas lecciones, esto me ayudaría mucho.
Tambien para recibir las notificaciones de las nuevas lecciones que iré subiendo paulatinamente
CONTACTO: informaticonfig@gmail.com
COLABORACION: paypal.me/informaticonfig
patreon.com/informaticonfig
explicas mucho mejor que mi profesor, lo que no entendí en 4 horas en la universidad contigo pude entender en 18 minutos, eres un capo sigue así
bienvenido Gerson
Combinando los tres casos de instead of : )
create or alter trigger t_blockinsert_productos
on productos
instead of insert, update, delete
as
begin
if exists(select 0 from inserted)
begin
if exists (select 0 from deleted)
begin
set nocount on -- bloquear mensaje de consola
insert into control_producto values
(suser_name(),getdate(),right(getdate(),8),'Intentó un update')
print 'No es posible actualizar datos en esta tabla, joven'
end
else
begin
set nocount on -- bloquear mensaje de consola
insert into control_producto values
(suser_name(),getdate(),right(getdate(),8),'Intentó un insert')
print 'No es posible insertar datos en esta tabla, joven'
end
end
else
begin
set nocount on -- bloquear mensaje de consola
insert into control_producto values
(suser_name(),getdate(),right(getdate(),8),'Intentó un delete')
print 'No es posible eliminar datos en esta tabla, joven'
end
end
Como serviría tanto para un delete para cuando hay usuarios nuevos...
Que curioso en el ultimo INSTEAD OF DELETE el mensaje es cero row affected (0 row affected) pero el TRIGGER si me da resultado en la tabla control_productos
si eso pasa en las versiones mas recientes de SQL server
@@informaticonfig333 Gracias por el dato
Hola profesor, una duda con la instrucción "set nocount on". Tengo entendido nos decía que era para que no se mostrara mensajes en la consola pero al ejecutar los códigos en los ejemplos de ésta clase, se sigue mostrando lo de (1 row affected), entonces qué hace el "set nocount on"? Muchas gracias
hola Alejandro no me había fijado, voy a revisar esa instruccion. Gracias.
como aplicar el trigger a otro usuario solo lo aplicas a tu usuario
el trigger se aplica a cualquier usuario de la base que acceda a cada recurso atado al trigger.
@@informaticonfig333 gracias por responder la duda