Al usar Oracle, puede crear un desencadenador deshabilitado que especifique la palabra DESACTIVAR antes del cuerpo del desencadenador. ¿Cómo puedo lograr el mismo efecto en el servidor Sql?¿Cómo puedo crear un desencadenador deshabilitado en SQL Server 2005?
Respuesta
Si realmente tiene que crear el gatillo desactivado a continuación, crear y desactivarlo dentro de una transacción:
begin tran
go
create trigger t_i on t after insert as begin /* trigger body */ end
go
disable trigger t_i on t
commit
go
el SMO están allí Cree porque disparador debe ser la primera instrucción en una por lotes, pero dependiendo de cómo despliegue su código, probablemente pueda hacer que se vea un poco más ordenado.
En el estudio de gestión, expanda la carpeta Disparo bajo la tabla y haga clic con el botón derecho en Desencadenar y deshabilitar.
DISABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]
MSDN:DISABLE TRIGGER (Transact-SQL)
ENABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]
MSDN:ENABLE TRIGGER (Transact-SQL)
sql-server-disable-all-triggers-on-a-database-disable-all-triggers-on-all-servers
No, quiero un desencadenador desactivado en el momento de la creación. – regisbsb
T-SQL proporciona un TRIGGER DISABLE que consigue el mismo efecto. Puede encontrar los detalles aquí: DISABLE TRIGGER SYNTAX
No, quiero un desencadenador desactivado en el momento de la creación. – regisbsb
La forma en que lo hice fue a exec tanto el crear y el inhabilitar como:
EXEC('CREATE TRIGGER trigger_on_myTable ON myTable <Trigger body> ');
EXEC('DISABLE TRIGGER trigger_on_myTable ON myTable');
Esto me permitió crear y desactivar en el mismo script sin la ninguna de GO.
- 1. Crear desencadenador en SQL Server
- 2. SQL Server 2005: T-SQL para deshabilitar temporalmente un desencadenador
- 3. Cómo crear un desencadenador de eliminación anterior en SQL Server?
- 4. ¿Cómo puedo encontrar un índice deshabilitado en SQL Server 2008?
- 5. Cómo crear un tipo de tabla en SQL Server 2005
- 6. Cómo eliminar el desencadenador en SQL Server?
- 7. Crear un nuevo usuario de db en SQL Server 2005
- 8. Cómo crear una restricción única compuesta en SQL Server 2005
- 9. ¿Cómo puedo editar los valores de un INSERT en un desencadenador en SQL Server?
- 10. ¿Cómo puedo transformar filas en columnas en SQL server 2005
- 11. SQL Server 2008 a SQL Server 2005
- 12. SQL Server 2005 replicación
- 13. SQL Server 2005 ¿Cómo crear una restricción única?
- 14. Cómo puedo documentar tablas y campos en SQL Server 2005
- 15. Isoweek en SQL Server 2005
- 16. ¿Qué hace "Crear estadísticas" en SQL Server 2005?
- 17. ¿Cómo puedo obtener la definición (cuerpo) de un desencadenador en SQL Server?
- 18. ¿Cómo puedo supervisar las sentencias sql ejecutadas en un SQL Server 2005?
- 19. ¿Dinámicamente nombrar índices en SQL Server 2005?
- 20. TransactionInDoubtException usando System.Transactions en SQL Server 2005
- 21. Cómo crear un directorio de sistema de archivos en una llamada/consulta de SQL Server 2005
- 22. Crear un desencadenador de SQL condicional en SQLite
- 23. SQL Server 2005: cómo restar 6 meses
- 24. Concatene ntext en SQL Server 2005
- 25. UPSERT atómico en SQL Server 2005
- 26. Indexar varchar en MS SQL Server 2005
- 27. Números persas en SQL Server 2005
- 28. unen tres tablas en SQL Server 2005
- 29. Consultas jerárquicas en SQL Server 2005
- 30. Restaurar SQL Server 2008 DB * a * SQL Server 2005
+1 por responder la pregunta ... – gbn