Desencadenador

Hola mi nombre es Cristian Sepúlveda y me gustaría saber si tu sabes como puedo crear un trigger en una tabla de sistema, ya que al tratar de hacerlo me sale un mensaje que dice que no tengo permiso, y el propietario es dbo.
Espero que me puedas ayudar y si puedes explicármelo más o menos detallado
Muchas gracias
Atte. Cristian Sepúlveda

1 respuesta

Respuesta
¿Has creado tu la base de datos? Si es que si probablemente estés accediendo a algo de otra base de datos de la que no tienes permisos. Dale permisos al usuario para que haga lo que quieres y andando.
Si no la has creado tu tendrás que añadir (en este caso el creador de la base de datos o el sa) tu usuario en la lista de permisos.
Como comprenderás, no puedo darte un curso de triggers y mucho menos de esta manera, pero no te preocupes que es bastante sencillo
En todo caso te puedo ayudar con preguntas concretas así que tu mismo
La base de datos esta creada por mi, pero como tu debes saber cuando creo una base de datos, hay tablas que se crean por si solas. Por ejemplo la tabla sycolumns que es donde yo quiero crear el trigger pero dice que no tengo los permisos.
Se hacer triggers pero lo que no se hacer es dar permisos para hacerlo.
¿No se si tu has hecho la prueba?
Gracias por preocuparte de mi pregunta.
Atte Cristian Sepulveda
La tabla sycolumns que dices es una tabla de sistema y no debes preocuparte por ella ni intentar modificarla a mano porque podrías destruir la integridad de la base de datos
En cuanto al trigger, si esta bien echo y no accede a información de otra base de datos, no tendrías que tener problemas para hacerlo funcionar.
En SQL 7 no hay borrado en cascada automático (si en 2000) y este tipo de integridad referencia se controla con triggers. Por tanto, en cualquier base de datos que yo hago en esta version y que requiera integridad referencial, se utilizan los triggers bastante.
Mira el desencadenador esta bien hecho porque tengo experiencia un poco en triggers y es uno bien simple, por le momento es de prueba.
Pero cuando entro a "administrar desencdenadores" en la tabla syscolumns y lo creo. Me sale un error que dice:
"ERROR 229 Permiso CREATE TRIGGER denegado para el objeto 'syscolumns'.Base de datos 'BDPrueba'. propietario 'bdo.'
¿Entonces cómo le doy permisos?
Atte. Cristian Sepúlveda
¿Para qué creas un trigger en la tabla syscolumns?
Porque estoy haciendo un diccionario de datos entonces cuando elimine un campo quiero que se elimine automáticamente en mi tabla del diccionario de datos.
La tabla syscolumns es una tabla de sistema y por tanto no es nada aconsejable andar trasteandola.
Un trigger se hace en la tabla que lo va a desencadenar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas