TRIGGER após criar tabela

22/04/2005

0

Ola caros Colegas....

Alguém poderia me dizer ou se já tiver q possa me passar .

Tenho um tabela onde quero cruiar uma TRIGGER, para q essa
TRIGGER. Toda vez q for criada uma tabela nova no Database,
automaticamente o nome a mesma tabela seja inclusa dentro
da q possui a TRIGGER.

Obrigado.


Eduardo.padilha

Eduardo.padilha

Responder

Posts

22/04/2005

Mysys

ao uma nova tabela no database a tabela anterior onde voce quer colocar a trigger nao sofre auteração portanto nao ira disparar a trigger.

isso seria quase que uma trigger no database


Responder

25/04/2005

Eduardo.padilha

Tudo bem .... Que seja uma TRIGGER direto no database
mas como fazer ? Vc tem algo parecido ?


Responder

25/04/2005

Mysys

tem nao..


Responder

25/04/2005

Eduardo.padilha

Entao voltei a estaca zero ....

Ola caros Colegas....

Alguém poderia me dizer ou se já tiver q possa me passar .

Tenho um tabela onde quero cruiar uma TRIGGER, para q essa
TRIGGER. Toda vez q for criada uma tabela nova no Database,
automaticamente o nome a mesma tabela seja inclusa dentro
da q possui a TRIGGER.

Obrigado.


Responder

26/04/2005

Marcus.magalhaes

Boa noite.

Sua pergunta está um pouco confusa (ou eu já estou com sono...hehehe). Mas vamos lá, vc tem uma tabela que armazena os nomes das tabelas que vc tem no seu banco, e vc gostaria de ter esta tabela sempre atualizada. É isso?

Se for isso vc está reinventando a roda, pq a tabela sysobjects contém todos os objetos que estão na base, portanto se vc quer saber quais são as tabelas que foram criadas na base por vc, ou por quem quer q seja, vc pode fazer o seguinte comando :

[color=green:350df39aa1]Select name, crdate
From dbname..sysobjects
Where type = ´U´[/color:350df39aa1] -- U= user table, se vc quiser ver as tbls de sistema acrescente ou troque para ´S´ -- S = system


Espero ter ajudado. Caso não seja tente ser mais claro na sua explicação.

Att,


Responder

27/04/2005

Eduardo.padilha

Bom Dia....

Marcus eh extamente o q vc entendeu, eu se q já existe a roda ahahahah
Select name, crdate From dbname..sysobjects Where type = ´U´ .......

Porem deixar eu explicar para qual a finalidade.....

Eh o seguinte minha tabela x onde guarda o nome de todas as outras do banco tem uma coluna q se chama tabela_em_uso onde eh 1 ou 0 , quando eh = 1, eh pq essa tabela nao esta em uso else 0.

Entao como o banco esta sendo reestruturado, estavamos fazendo uma varedura das tabelas q possivelmente nao estao em uso, para isso checamos a tabela x.tabela_em_uso.

Mas imagina q nesse periodo alguem crie uma nova tabela, entao gostaria de armazenar o nome e jogar 0 no campo tabela_em_uso.

Ou seja a finalidade dessa tabela x seria somente para definir as tabelas em uso ou nao.

E pq estamos fazendo isso ? Pq tem mais de 100 tabelas q nao estao mais sendo usadas, entao essa tabela x seria uma referencia.

Por isso pergunto ah um meio armazenar o nome de cada tabela nova na tabela x ?


Responder

27/04/2005

Marcus.magalhaes

Olá,

vc pode fazer o seguinte, crie um job que faça o seguinte insert na sua tabela

Insert Into suatabela
Select name, xxxxxxx
From sysobjects
Where name not in (Select distinct name from sua tabela)
and type = ´U´


Assim vc pega somente tabelas e somente as que ainda não estão na sua tabela.

Vc pode agendar o job para rodar diariamente.

Espero ter ajudado.

Att,


Responder

27/04/2005

Eduardo.padilha

boa dica Marcus , farei isso.

Obrigado.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar