Estoy usando SQL Advantage y necesito saber qué es el SQL para identificar los desencadenantes asociados con una tabla. No tengo la opción de utilizar otra herramienta, por lo que la buena solución SQL antigua es la respuesta ideal.¿Cómo identifica los desencadenantes asociados con una tabla en una base de datos de sybase?
Respuesta
También descubrí que
sp_depends <object_name>
le mostrará una gran cantidad de información sobre una tabla, incluyendo todos los disparadores asociados a ella. Usar eso, junto con la consulta de Ray puede hacer que sea mucho más fácil encontrar los factores desencadenantes. En combinación con esta consulta del artículo enlazado de Ray:
sp_helptext <trigger_name>
y se puede ver la definición del gatillo:
sp_depends <trigger_name>
también le mostrará todas las tablas relacionadas con un disparador
select * from sysobjects where type = 'TR'
Tomado de here.
creo que hay es (o al menos 'fue') un problema donde la información de dependencia no siempre es precisa. Por lo tanto, trataría de abordarlo de esta manera:
select name
from sysobjects
where xtype='TR'
and id in (select id from syscomments where text like '%MY-TABLE-NAME%')
Buena suerte.
PD: Este es un código no probado, deje un comentario si no funciona, y lo arreglaré.
para mostrar disparadores y crear SQL para una tabla:
select so.name, text
from sysobjects so, syscomments sc
where type = 'TR'
and so.id = sc.id
and text like '%TABLENAME%'
SELECT
T.name AS TableName
,O.name TriggerName
FROM sysobjects O
INNER JOIN sys.tables T ON T.object_id = O.parent_obj
WHERE O.type = 'TR' AND T.name IN ('tableNames')
ORDER BY TableName
- abierto Sybase Central y vaya a ver los factores desencadenantes.
- Haga clic en la columna "Nombre del objeto" para ordenar.
La columna "Nombre del objeto" aparentemente muestra la tabla asociada con el desencadenador. Desplácese hasta la tabla que le interese.
Usaría el siguiente código para asegurarse de que está obteniendo los objetos adecuados. Desde Sybase 16 esto ya no estará completo, ya que podría haber más factores desencadenantes del mismo tipo en una tabla.
select tr.id, tr.name, tr.type, tr.crdate, tr.loginame
from sysobjects u
join sysobjects tr on tr.id in (u.instrig, u.deltrig, u.updtrig, u.seltrig)
where u.name = 'TABLENAME'
- 1. ¿Cómo puedo eliminar todos los desencadenantes en una base de datos MySQL usando una declaración SQL?
- 2. ¿Cómo encontrar todos los disparadores asociados con una tabla con SQL Server?
- 3. ¿Cómo se enumeran todos los factores desencadenantes en una base de datos MySQL?
- 4. ¿Cómo enumero (o exporto) el código para todos los desencadenantes en una base de datos?
- 5. Cómo copiar datos de una base de datos/tabla a otra base de datos/tabla
- 6. ¿Cómo crear una tabla en una base de datos particular?
- 7. Copiar datos de una tabla en una base de datos a otra base de datos separada
- 8. ¿Cómo creo condicionalmente una tabla en Sybase (TSQL)?
- 9. Cómo copiar una tabla de una base de datos mysql a otra base de datos mysql
- 10. obtener las columnas de una tabla Temp en sybase
- 11. ¿Cómo priocratiza múltiples factores desencadenantes de una tabla?
- 12. De una base de datos Sybase, ¿cómo puedo obtener la descripción de la tabla (nombres y tipos de campos)?
- 13. Usar una tabla en otra base de datos
- 14. ¿Cómo puedo encontrar la lista de índices de Sybase para una base de datos determinada?
- 15. Prueba de unidad Herramienta para la base de datos Sybase
- 16. Pares clave/valor en una tabla de base de datos
- 17. Mover una tabla de una base de datos a otra base de datos SQL Server
- 18. ¿Cómo crear una copia de seguridad de una sola tabla en una base de datos postgres?
- 19. Cómo mantener el orden de los registros en una tabla de base de datos
- 20. Quiero copiar la tabla contenida en una base de datos e insertarla en otra tabla de base de datos
- 21. Mysql: cuándo utilizar los desencadenantes
- 22. Necesito enumerar todos los desencadenantes en la base de datos de SQL Server con el nombre de la tabla y el esquema de la tabla
- 23. ¿Cómo puedo encontrar entradas duplicadas en una tabla de base de datos?
- 24. Encontrar una base de datos con una tabla particular O Buscar una tabla en cada base de datos de SQL Server
- 25. ¿Cómo recuperar nombres de tabla en una base de datos mysql con Python y MySQLdb?
- 26. ¿Cómo obtener todos los nombres de tabla de una base de datos?
- 27. Cómo rastrear cambios de datos en una tabla de base de datos
- 28. ¿Cómo cambio el nombre de una columna en una tabla de base de datos usando SQL?
- 29. ¿Qué es una tabla Parent y una tabla Child en la base de datos?
- 30. Múltiples ViewModels asociados con una única vista
Gracias Ray, busqué a lo largo del tiempo ayer pero nunca encontré ese artículo. Tiene una gran cantidad de información útil allí. –
Acababa de agregar mi aclaración de respuesta a la suya, pero no puedo editar una respuesta. Creo que porque no he revisado el wiki de la comunidad cuando creé la pregunta. –