24. maj 2005 - 10:13Der er
4 kommentarer og 1 løsning
sql forespørgsel hjælp
er der nogen måde hvor jeg kan få fat i alle oplysninger om en database, ment på den måde at jek kan få fat i tabelnavne,definitioner, primærnøgler, fremmednøgler osv?
jeg har to udtryk jeg har leget lidt med men ingen af dem får alle oplysninger ud på en gang. Kan man eventuelt kombinere dem og i dette tilfælde hvordan?
udtryk 1: SELECT dcc.table_name TabelTitel, dcc.column_name FeltDefTitel, dtc.column_id Ordinal_Position, dtc.data_type DataType, dtc.Data_Length Length, dtc.Data_Precision Precision, dtc.Data_Scale Scale, dcc.comments FeltInfo FROM user_col_comments dcc, user_tab_columns dtc, user_tab_comments utc WHERE dcc.table_name = dtc.table_name AND dcc.column_name = dtc.column_name AND dcc.table_name = utc.table_name AND utc.table_type = 'TABLE' ORDER BY dtc.table_name, dtc.column_id
udtryk 2: SELECT uc.r_constraint_name AS pk_constraint, uccp.table_name AS parent_table, uccp.column_name AS parent_column, uc.constraint_name AS fk_constraint, uccf.table_name AS child_table, uccf.column_name AS child_column FROM user_constraints uc, user_cons_columns uccp, user_cons_columns uccf WHERE uc.table_name = UPPER ('&tablename') AND uc.constraint_type = 'R' AND uc.r_constraint_name = uccp.constraint_name AND uc.constraint_name = uccf.constraint_name
hvor &tablename i udtryk 2 gerne skulle være alle tabellerne
det skal også være kompatibelt med oracle 8. Men oplysningerne jeg skal have ud er som følgende: <tabel> <titel>XXXX</titel> <posttype>Fast</posttype> <feltdef> <titel>XXXX</titel> <datatype>num</datatype> <bredde>8</bredde> <feltinfo>XXXX</feltinfo> <feltfunk>XXXX</feltfunk> </feltdef> <feltdef> <titel>XXXX</titel> <datatype>date</datatype> <bredde>8</bredde> <feltinfo>XXXX</feltinfo> </feltdef> <pn> <titel>XXXX</titel> </pn> <fn> <titel>XXXX</titel> <fremmedtabel> <titel>XXX</titel> <titel>XXX</titel> </fremmedtabel> </fn> <tabelinfo>Tabel med oplysninger</tabelinfo> </tabel>
det er målet. Så hvis udtrykket kan samles så man får alle oplysninger på en gang.
som ovenstående, og udtryk 2 er blevet: select pk.table_name parent_table_name, pk.constraint_name pkey_constraint, fk.table_name child_table_name, fk.constraint_name fkey_constraint, fk.r_constraint_name from user_constraints pk, user_constraints fk where pk.constraint_name = fk.r_constraint_name and pk.constraint_type='P' and fk.constraint_type='R'
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.