Sequences e tabelas

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
Guilly
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Qua, 17 Ago 2011 2:31 pm
Localização: passo fundo - rs

Ola!

Estou precisando buscar onde está registrada a informação que vincula uma sequence a uma determinada tabela. Li em um forum aqui mesmo que não tinha como fazer isso, só que a notícia é de 2005. Por isso queria saber se tem como buscar essa informação nos dias atuais usando o oracle 10g. Se puderem me ajudar... Ou me mostrar uma maneira de fazer isso.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Realmente, não existe esse vínculo.
Sequence é uma coisa, tabela/campo é outra, sem ligações entre elas.
gfkauer
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 389
Registrado em: Ter, 27 Jul 2010 1:34 pm
Localização: Sapiranga - RS
Contato:
Quem falou que programar era fácil??

Quanto mais dificil for a implementação mais valorizado seu trabalho será!

Acessem: www.gfkauer.com.br

Olha, fisicamente não é possivel mesmo, mas sempre tem uns poréns que dependem da sua arquitetura...

- Em alguns sistemas as sequencoas são inseridas via triggers, logo a trigger indicaria a tabela a qual se relaciona.
- Se sua estrutura de dados está criada em cima da ferramenta Oracle Designer a sequencia utilizada na tabela esta diretamente vinculada a ela.
- Em ultima instancia, em alguns sistemas é tido como habitual a sequencia ter seu nome composto pela abreviação do nome da tabela, afim de buscar este relacionamento.

No banco propriamente eu não conheço nenhuma forma de "garantir" quais tabelas estão recebendo valores da sequencia...
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

se tiver na trigger da pra pegar da tabela USER_TRIGGERS e procurar com INSTR, baseado numa consulta na USER_SEQUENCES.

nota: gambi
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Eu gosto de nomear o sinonimo +ou- com o nome da tabela.
ishii
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 28 Dez 2010 7:41 pm
Localização: São Paulo - SP

Sim, essa padronização é importante. Procuro fazer o seguinte em casos de modelagem definida: S+Nome da tabela, ou seja, se a tabela se chama FBI_ORIGEM a sequence terá que ser SFBI_ORIGEM. Para os testes uso SEQ_<nome da tabela de teste>

O importante é ter um padrão para a nomenclatura dos objetos.

[]s Ishii
viniciusandrade
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 20
Registrado em: Ter, 19 Jul 2011 5:50 pm
Localização: Jataí - GO

Realmente não existe vínculo de sequence com tabela.
O que faço aqui é criar a sequence e criar uma trigger que chama a sequence para essa tabela.

Por exemplo:

Selecionar tudo

TABELA = TAB1
SEQUENCE = SEQ1
Aí eu crio a trigger assim:

Selecionar tudo

create or replace
TRIGGER TRG_TAB1_SEQ1 
	BEFORE INSERT 
	ON TAB1 
	FOR EACH ROW 
	BEGIN 
		SELECT SEQ1.NEXTVAL 
		INTO :NEW.ID 
		FROM DUAL; 
END;

Assim é a única forma que eu conheço de 'associar' uma sequence à um tabela. Toda vez que inserir um registro na tabela, a trigger vai inserir o próximo numero da sequence no campo ID da TAB1.
Guilly
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Qua, 17 Ago 2011 2:31 pm
Localização: passo fundo - rs

Obrigado pelas ajuda!!!

O meu problema como já vinha pedindo ajuda anteriormente para outras questões é que tenho que criar uma ferramenta onde ela vai mapear meu banco e mostrar as dependencias de cada tabela comparar com o do cliente.
Esse cliente vai escolher as tabelas que ele quer independente das dependência que ela tiver, também vai escolher se quer só a estrutura ou se essa tabela vai conter dados. Se quiser só estrutura a tabela vai ser zerada antes. Após tudo isso ele vai importar essas tabelas.
Esse banco já esta todo montado e não tenho acesso aos scripts. Só preciso fazer a ferramenta. O trabalho é grande, mas com a ajuda de vocês já consegui fazer o mapeamento desse banco e agora o trabalho mais duro é o exporador e importador. Seria fácil se meu usuário não fosse restrito, não tenho autorização para mexer nos bancos. Toda a ferramenta está sendo feita no Java.
Se puderem me mandem idéias, pois comecei a usar o oracle não faz muito tempo e aterior a ele eu nunca tinha visto nada de banco de dados. Aprendo muito lendo os fórums e testando o que vocês passam.
Guilly
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Qua, 17 Ago 2011 2:31 pm
Localização: passo fundo - rs

Ola!!!!

Bom! Devido a ausência de resposta para a minha pergunta. Peço ajuda quanto a outra coisa...
Na minha aplicação fica muito pesado mostrar os relacionamentos de todas as tabelas quanto a filhos e pais. Preciso que me ajudem a fazer uma consulta onde eu tenha os relacionamentos, mas que não seja tão pesada para minha ferramenta. Porque ficou meio complexo quanto a mostrar tudo... A ferramenta não está suportando, pois após fazer isso tenho que mostrar em tela e depois exportar as mesmas com ou sem os seus relacionamentos... Me desculpem se a pergunta for meio redundante, mas não tenho muito conhecimento em banco de dados.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

BOM, coloca como é a sua consulta pra gente poder te ajudar... senão fica muito vago !
Guilly
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Qua, 17 Ago 2011 2:31 pm
Localização: passo fundo - rs

Eu estou usando a consulta que você me passou...
claro que tive que adequar ela ao meu projeto, mas é praticamente a consulta que me passou...
Obrigado por toda a ajuda que vocês tem me dado.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 18 visitantes