Desencadenador

Como puedo crear un trigger en una tabla de systema, por ejemplo en la tabla syscolumns de cualquier base de datos, porque cada vez que trato de hacerlo me dice que no tengo el permiso, por lo tanto no puedo hacerlo. Tampoco se dar permisos.
Si tienes la respuesta me podrías explicar como hacerlo pero ojala en forma bien detallada, no soy muy diestro en sql, más bien soy principiante.
Espero que puedas responder a mi pregunta.
Muchísimas Gracias
Cristian Sepúlveda

1 respuesta

Respuesta
1
Sobre las tablas del sistema no puedes crear trigger, que yo sepa. Yo lo he intentado con el "sa" y tampoco me ha dejado.
De todas formas me parece muy lógico. Estas tablas no se deben modificar en ningún caso. Es más, es conveniente ni tan siquiera hacer consultas sobre ellas, para eso nos facilita SQL Server un montón de procedimientos almacenados del sistema.
Deberías buscar otro tipo de solución. Dime que es exactamente lo que quieres hacer e intentaré ayudarte con otra solución.
Por favor no olvides finalizar y valorar la respuesta lo antes posible, ya que está limitado el nº de preguntas simultáneas y otros compañeros no podrán hacer sus preguntas ni tu otras nuevas hasta tu finalices o respondas sobre la tuya.
Lo que pasa es que he creado una tabla donde tengo todas las tablas y campos de todas las bases de datos con su descripción respectiva(como el access, que tiene un campo para referirnos para que sirve el campo que estamos creando), en resumidas cuentas es un diccionario de datos. Por lo tanto cree una tabla llamada "sysdescripcion" donde tengo el campo y su descripción.
(Para crearla me guié por la tabla sysobjects y syscolumns)
Ej:
Nombre campo Descripción
IdFactura Identificador único de referencia a la factura
Por lo tanto, como muchas veces elimino campos de las bases de datos, ya sea porque ya no son necesarias, me gustaría que al eliminar un campo, se pudiera eliminar también de mi tabla automáticamente.
Por lo que he podido investigar cuando eliminas o creas un campo se actualiza la tabla de sistema syscolumns, que es en donde quiero colocar el trigger para que al momento que se elimine un campo, se elimine también de mi tabla.
Espero que te haya quedado claro y me puedas ayudar, ya que creo que solo puede ser un asunto de permisos, porque cuando trato de crear el trigger me sale un mensaje que dice que no tengo los permisos necesarios y que el propietario es dbo.
Muchísimas gracias por preocuparte de mi pregunta
Atte. Cristian Sepúlveda
Para lo que quieres entra al repository, allí sólo se almacenan metadatos(datos sobre los datos), y tienes la posibilidad de escribir esa información. Además la información que visualizas allí está en HTML y mucho mejor para verla e imprimirla que la de Access.
Te aconsejo que olvides la idea de usar tus tablas y aproveches las posibilidades del propio SQL Server.
Por favor no olvides finalizar y valorar la respuesta lo antes posible, ya que está limitado el nº de preguntas simultáneas y otros compañeros no podrán hacer sus preguntas ni tu otras nuevas hasta tu finalices o respondas sobre la tuya.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas