germas_ferreira, acho que o Chiappa já explicou alguns conceitos que, creio eu, 
estavam confusos em sua cabeça, sobre algumas diferenças entre Oracle e MSSQL. 

Comparado ao MSSQL, o Oracle facilita bastante na utilização do dicionário de 
dados. Com DBA_TAB_COLUMNS você consegue toda informação que precisa, sem a 
necessidade de fazer um join entre duas ou mais views/tabelas (como seria no 
SQL Server). A própria DBA_TAB_COLUMNS já faz esses joins pra você.

Imagino que, pelo o que eu entendi, tudo o que você precisa fazer é inserir um 
filtro por "owner", pra que você possa limitar os resultados por schema e não 
retornar todas as tabelas de seu BD.
Se pretende trabalhar com Oracle daqui pra frente, experimente ler e entender o 
que o Chiappa disse, além de, é claro, procurar em manuais ou artigos na 
internet, sobre a arquitetura do Oracle ou até mesmo suas principais diferenças 
do SQL Server.
Aqui tem muita informação: http://tahiti.oracle.com/

Exemplo (talvez ajude, não sei):

select table_name, column_name, data_type, data_length
from dba_tab_columns
where owner = 'SCHEMA_DO_SISTEMA';

PS: Se você precisa realmente do "id", o que eu acho muito difícil (ou talvez 
desnecessário), sugiro que procure informações sobre as tabelas sys.col$, 
sys.obj$, sys.coltype$, sys.user$, etc...

[]'s

--- Em oracle_br@yahoogrupos.com.br, "germas_ferreira" <germas_ferreira@...> 
escreveu
>
> Oi aabarroso,
> 
> Vou explicar o que ocorre: Tenho que obter o syscolumns.length e 
> systypes.name, até aqui aqui eu sei q posso encontrar essas informações nas 
> tabelas User_tab_columns ou User_Table.
> 
> Mas o problema chega no trecho abaixo:
> syscolumns.id = (Select id from sysobjects where name = @NM_TAB)
> onde o syscolumns.id  é o mesmo que o sysobjects.id. E eu tenho que fazer 
> algo parecido, pois devo pegar o sysobjects.id(Object_id) que ele irá me 
> retornar a especificamente o ID da tabela que eu quero para filtrar com o 
> nome da coluna.
> 
> Já tentei fazer com o COLUMN_ID, mas não da certo, pois tenho vários bancos 
> parecidos e isso vai me retornar todos os registros de colunas que estão em 
> cada banco e com o OBJECT_ID não, ele vai buscar em um banco especifico.
> 
> Tentei da um describe e o ORACLE diz que não suporta esse tipo de comando.
> 
> Att.
> 
> 
> 
> --- Em oracle_br@yahoogrupos.com.br, "aabarroso" <aabarroso1985@> escreveu
> >
> > Ei germas_ferreira...
> > Talvez seja mais prático se você disser que informação precisa extrair do 
> > BD...
> > 
> > Por exemplo:
> > Quer propriedades da tabela da coluna que você tá procurando? Talvez seja 
> > melhor utilizar user_tables invés de user_objects... 
> > 
> > O join pode ser ser feito pelas colunas comuns entre as duas views. Não 
> > precisa ser necessariamente um ID, pode ser a coluna "table_name", por 
> > exemplo.
> > 
> > Se você der um describe nas views/tabelas, pode ver as colunas comuns entre 
> > elas...
> > 
> > []'s
> > 
> > --- Em oracle_br@yahoogrupos.com.br, "germas_ferreira" <germas_ferreira@> 
> > escreveu
> > >
> > > Só mas uma coisa, como eu faço a junção entre as colunas USER_TAB_COLUMNS 
> > > e USER_OBJECTS???
> > > 
> > > --- Em oracle_br@yahoogrupos.com.br, "germas_ferreira" <germas_ferreira@> 
> > > escreveu
> > > >
> > > > Obrigado, me ajudou muito essa informação!!!
> > > > 
> > > > 
> > > > 
> > > > --- Em oracle_br@yahoogrupos.com.br, "aabarroso" <aabarroso1985@> 
> > > > escreveu
> > > > >
> > > > > DBA_TYPES, DBA_TAB_COLUMNS, DBA_OBJECTS, respectivamente.
> > > > > 
> > > > > Se não estiver conectado como DBA, pode utilizar USER_ ou ALL_ ao 
> > > > > invés de DBA_.
> > > > > 
> > > > > Se quer fazer um join entre columns e types pra mostrar o tipo de 
> > > > > cada coluna, talvez só a DBA_TAB_COLUMNS resolva o seu problema.
> > > > > 
> > > > > Dê um "desc" em DBA_TAB_COLUMNS e veja se possui as colunas que você 
> > > > > precisa...
> > > > > 
> > > > > []'s
> > > > > 
> > > > > 
> > > > > --- Em oracle_br@yahoogrupos.com.br, "germas_ferreira" 
> > > > > <germas_ferreira@> escreveu
> > > > > >
> > > > > > Bom Dia!
> > > > > > 
> > > > > > Abaixo tenho três tabelas em SQL e queria saber quais são as 
> > > > > > respectivas tabelas equivalentes em Oracle:
> > > > > > 
> > > > > >  - systypes
> > > > > >  - syscolumns
> > > > > >  - sysobjects
> > > > > > 
> > > > > > Pois pretendo fazer um join entre as duas primeiras mas não 
> > > > > > consegui achar chaves equivalentes.
> > > > > > 
> > > > > > Alguém poderia me ajudar? 
> > > > > > 
> > > > > > Obrigado!
> > > > > >
> > > > >
> > > >
> > >
> >
>


Responder a