Caros, Realmente eu já tinha noção dessa diferença entre os dois bancos, mas não tinha assimilado esse conceito que agora ficou claro. Consegui fazer o que eu queria pela tabela DBA_TAB_COLUMNS.
[]'s Germas --- Em oracle_br@yahoogrupos.com.br, "aabarroso" <aabarroso1985@...> escreveu > > 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! > > > > > > > > > > > > > > > > > > > > > > > > > > > >