Rumah pangkalan data tutorial mysql 如何获取MSSQLServer,Oracel,Access中的数据字典信息

如何获取MSSQLServer,Oracel,Access中的数据字典信息

Jun 07, 2016 pm 03:05 PM
bagaimana dapatkan

------------------------- MS SQLServer ------------------------------------------------------------ --表说明 SELECT dbo.sysobjects.name AS TableName, dbo.sysproperties.[value] AS TableDesc FROM dbo.sysproperties INNER JOIN dbo.sysobjects O

------------------------- MS SQLServer ------------------------------------------------------------
--表说明
SELECT dbo.sysobjects.name AS TableName,
      dbo.sysproperties.[value] AS TableDesc
FROM dbo.sysproperties INNER JOIN
      dbo.sysobjects ON dbo.sysproperties.id = dbo.sysobjects.id
WHERE (dbo.sysproperties.smallid = 0)
ORDER BY dbo.sysobjects.name

--字段说明
SELECT dbo.sysobjects.name AS TableName, dbo.syscolumns.colid,
      dbo.syscolumns.name AS ColName, dbo.sysproperties.[value] AS ColDesc
FROM dbo.sysproperties INNER JOIN
      dbo.sysobjects ON dbo.sysproperties.id = dbo.sysobjects.id INNER JOIN
      dbo.syscolumns ON dbo.sysobjects.id = dbo.syscolumns.id AND
      dbo.sysproperties.smallid = dbo.syscolumns.colid
ORDER BY dbo.sysobjects.name, dbo.syscolumns.colid

 

--主键、外键信息(简化)
select
 c_obj.name    as CONSTRAINT_NAME
 ,t_obj.name    as TABLE_NAME
 ,col.name    as COLUMN_NAME
 ,case col.colid
  when ref.fkey1 then 1  
  when ref.fkey2 then 2  
  when ref.fkey3 then 3  
  when ref.fkey4 then 4  
  when ref.fkey5 then 5  
  when ref.fkey6 then 6  
  when ref.fkey7 then 7  
  when ref.fkey8 then 8  
  when ref.fkey9 then 9  
  when ref.fkey10 then 10  
  when ref.fkey11 then 11  
  when ref.fkey12 then 12  
  when ref.fkey13 then 13  
  when ref.fkey14 then 14  
  when ref.fkey15 then 15  
  when ref.fkey16 then 16
 end      as ORDINAL_POSITION
from
 sysobjects c_obj
 ,sysobjects t_obj
 ,syscolumns col
 ,sysreferences  ref
where
 permissions(t_obj.id) != 0
 and c_obj.xtype in (F )
 and t_obj.id = c_obj.parent_obj
 and t_obj.id = col.id
 and col.colid   in
 (ref.fkey1,ref.fkey2,ref.fkey3,ref.fkey4,ref.fkey5,ref.fkey6,
 ref.fkey7,ref.fkey8,ref.fkey9,ref.fkey10,ref.fkey11,ref.fkey12,
 ref.fkey13,ref.fkey14,ref.fkey15,ref.fkey16)
 and c_obj.id = ref.constid
union
 select
 i.name     as CONSTRAINT_NAME
 ,t_obj.name    as TABLE_NAME
 ,col.name    as COLUMN_NAME
 ,v.number    as ORDINAL_POSITION
from
 sysobjects  c_obj
 ,sysobjects  t_obj
 ,syscolumns  col
 ,master.dbo.spt_values  v
 ,sysindexes  i
where
 permissions(t_obj.id) != 0
 and c_obj.xtype in (UQ ,PK)
 and t_obj.id = c_obj.parent_obj
 and t_obj.xtype  = U
 and t_obj.id = col.id
 and col.name = index_col(t_obj.name,i.indid,v.number)
 and t_obj.id = i.id
 and c_obj.name  = i.name
 and v.number  > 0
  and v.number    and v.type  = P

order by CONSTRAINT_NAME, ORDINAL_POSITION


--主键、外键对照(简化)
select
 fc_obj.name   as CONSTRAINT_NAME
 ,i.name     as UNIQUE_CONSTRAINT_NAME
from
 sysobjects fc_obj
 ,sysreferences r
 ,sysindexes i
 ,sysobjects pc_obj
where
 permissions(fc_obj.parent_obj) != 0
 and fc_obj.xtype = F
 and r.constid  = fc_obj.id
 and r.rkeyid  = i.id
 and r.rkeyindid  = i.indid
 and r.rkeyid  = pc_obj.id


------------------------------------------ ORACLE ----------------------------------------------------

--表信息
select * from all_tab_comments t
where owner=DBO

--列信息
select * from all_col_comments t
where owner=DBO

--主键、外键对照
select OWNER, CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME, R_OWNER, R_CONSTRAINT_NAME
from all_constraints
where owner=DBO and (Constraint_Type=P or Constraint_Type=R)


--主键、外键信息
select *
from all_cons_columns
where owner=DBO
order by Constraint_Name, Position


-------------------------------------------- Access ----------------------------------------------------
//Access中的系统表MSysobjects存储属性的字段是二进制格式,不能直接分析
//可以采用ADO自带的OpenSchema方法获得相关信息

  //use ADOInt.pas
  //po: TableName
  //DBCon:TADOConnection
  /ds:TADODataSet
 
--表信息
  DBCon.OpenSchema(siTables, VarArrayOf([Null, Null, Table]), EmptyParam, ds);

--列信息
  DBCon.OpenSchema(siColumns, VarArrayOf([Null, Null, po]), EmptyParam, ds);
 
--主键
  DBCon.OpenSchema(siPrimaryKeys, EmptyParam, EmptyParam, ds);
 
 
--主键、外键对照
  DBCon.OpenSchema(siForeignKeys, EmptyParam, EmptyParam, ds); 

 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1666
14
Tutorial PHP
1273
29
Tutorial C#
1253
24
Bagaimana untuk mendapatkan sambungan fail dalam Python? Bagaimana untuk mendapatkan sambungan fail dalam Python? Sep 08, 2023 pm 01:53 PM

Sambungan fail dalam Python ialah akhiran yang dilampirkan pada penghujung nama fail untuk menunjukkan format atau jenis fail. Ia biasanya terdiri daripada tiga atau empat aksara, nama fail diikuti dengan noktah, seperti ".txt" atau ".py". Sistem pengendalian dan program menggunakan sambungan fail untuk menentukan jenis fail itu dan cara ia harus diproses. Diiktiraf sebagai fail teks biasa. Sambungan fail dalam Python adalah penting semasa membaca atau menulis fail kerana ia menetapkan format fail dan cara terbaik untuk membaca dan menulis data. Sebagai contoh, sambungan fail ".csv" ialah sambungan yang digunakan semasa membaca fail CSV dan modul csv digunakan untuk memproses fail. Algoritma untuk mendapatkan sambungan fail dalam Python Manipulasi rentetan nama fail dalam Python.

Gunakan fungsi math.Max ​​untuk mendapatkan nilai maksimum dalam set nombor Gunakan fungsi math.Max ​​untuk mendapatkan nilai maksimum dalam set nombor Jul 24, 2023 pm 01:24 PM

Gunakan fungsi math.Max ​​untuk mendapatkan nilai maksimum dalam set nombor Dalam matematik dan pengaturcaraan, selalunya perlu mencari nilai maksimum dalam set nombor. Dalam bahasa Go, kita boleh menggunakan fungsi Max dalam pakej matematik untuk mencapai fungsi ini. Artikel ini akan memperkenalkan cara menggunakan fungsi math.Max ​​untuk mendapatkan nilai maksimum dalam set nombor, dan memberikan contoh kod yang sepadan. Pertama, kita perlu mengimport pakej matematik. Dalam bahasa Go, anda boleh menggunakan kata kunci import untuk mengimport pakej, seperti yang ditunjukkan di bawah: import"mat

Di mana untuk mendapatkan kod keselamatan Google Di mana untuk mendapatkan kod keselamatan Google Mar 30, 2024 am 11:11 AM

Google Authenticator ialah alat yang digunakan untuk melindungi keselamatan akaun pengguna dan kuncinya ialah maklumat penting yang digunakan untuk menjana kod pengesahan dinamik. Jika anda terlupa kunci Google Authenticator dan hanya boleh mengesahkannya melalui kod keselamatan, maka editor tapak web ini akan membawakan anda pengenalan terperinci tentang tempat untuk mendapatkan kod keselamatan Google. Saya harap ia dapat membantu anda tahu lebih lanjut Pengguna sila teruskan membaca di bawah! Mula-mula buka tetapan telefon dan masukkan halaman tetapan. Tatal ke bawah halaman dan cari Google. Pergi ke halaman Google dan klik pada Akaun Google. Masukkan halaman akaun dan klik Lihat di bawah kod pengesahan. Masukkan kata laluan anda atau gunakan cap jari anda untuk mengesahkan identiti anda. Dapatkan kod keselamatan Google dan gunakan kod keselamatan untuk mengesahkan identiti Google anda.

Bagaimana untuk mendapatkan elemen terakhir LinkedHashSet di Java? Bagaimana untuk mendapatkan elemen terakhir LinkedHashSet di Java? Aug 27, 2023 pm 08:45 PM

Mendapatkan semula elemen terakhir daripada LinkedHashSet dalam Java bermakna mendapatkan semula elemen terakhir dalam koleksinya. Walaupun Java tidak mempunyai kaedah terbina dalam untuk membantu mendapatkan semula item terakhir dalam LinkedHashSets, terdapat beberapa teknik berkesan yang memberikan fleksibiliti dan kemudahan untuk mendapatkan semula elemen terakhir ini dengan cekap tanpa melanggar perintah sisipan - satu kemestian bagi isu pembangun Java yang ditangani dengan berkesan dalam aplikasinya . Dengan menggunakan strategi ini secara berkesan dalam projek perisian mereka, mereka boleh mencapai penyelesaian terbaik untuk keperluan ini LinkedHashSetLinkedHashSet ialah struktur data yang cekap dalam Java yang menggabungkan HashSet dan

Dapatkan kemas kini terkini sekarang: Betulkan kemas kini terkini yang tiada Dapatkan kemas kini terkini sekarang: Betulkan kemas kini terkini yang tiada Nov 08, 2023 pm 02:25 PM

Jika pilihan "Dapatkan kemas kini terkini sebaik sahaja ia tersedia" tiada atau dikelabukan, anda mungkin menjalankan versi Saluran Pembangun Windows 11, dan ini adalah perkara biasa. Bagi yang lain, isu timbul selepas memasang kemas kini KB5026446 (22621.1778). Berikut ialah perkara yang boleh anda lakukan untuk mendapatkan kembali pilihan "Dapatkan kemas kini terkini sebaik sahaja ia tersedia". Bagaimanakah saya boleh mendapatkan kembali pilihan "Dapatkan kemas kini terkini sebaik sahaja ia tersedia"? Sebelum memulakan mana-mana penyelesaian di bawah, pastikan anda menyemak kemas kini Windows 11 terkini dan memasangnya. 1. Gunakan ViVeTool untuk pergi ke halaman Katalog Kemas Kini Microsoft dan cari kemas kini KB5026446. Muat turun dan pasang semula kemas kini pada PC anda

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Jan 05, 2024 pm 06:08 PM

Tutorial JavaScript: Bagaimana untuk mendapatkan kod status HTTP, contoh kod khusus diperlukan: Dalam pembangunan web, interaksi data dengan pelayan sering terlibat. Apabila berkomunikasi dengan pelayan, kami selalunya perlu mendapatkan kod status HTTP yang dikembalikan untuk menentukan sama ada operasi itu berjaya dan melaksanakan pemprosesan yang sepadan berdasarkan kod status yang berbeza. Artikel ini akan mengajar anda cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan menyediakan beberapa contoh kod praktikal. Menggunakan XMLHttpRequest

Program C++ untuk mendapatkan bahagian khayalan nombor kompleks yang diberikan Program C++ untuk mendapatkan bahagian khayalan nombor kompleks yang diberikan Sep 06, 2023 pm 06:05 PM

Sains moden sangat bergantung pada konsep nombor jamak, yang pertama kali ditubuhkan pada awal abad ke-17 oleh Girolamo Cardano, yang memperkenalkannya pada abad ke-16. Formula untuk nombor kompleks ialah a+ib, dengan a memegang kod html dan b ialah nombor nyata. Nombor kompleks dikatakan mempunyai dua bahagian: bahagian nyata <a> dan bahagian khayalan (<ib>). Nilai i atau iota ialah √-1. Kelas jamak dalam C++ ialah kelas yang digunakan untuk mewakili nombor kompleks. Kelas kompleks dalam C++ boleh mewakili dan mengawal beberapa operasi nombor kompleks. Mari kita lihat bagaimana untuk mewakili dan mengawal paparan nombor majmuk. imag() fungsi ahli Seperti yang dinyatakan di atas, nombor kompleks terdiri daripada bahagian nyata dan bahagian khayalan. Untuk memaparkan bahagian sebenar kami menggunakan real()

Program Java untuk mendapatkan saiz fail yang diberikan dalam bait, kilobait dan megabait Program Java untuk mendapatkan saiz fail yang diberikan dalam bait, kilobait dan megabait Sep 06, 2023 am 10:13 AM

Saiz fail ialah jumlah ruang storan yang digunakan oleh fail tertentu pada peranti storan tertentu, seperti cakera keras. Saiz fail diukur dalam bait. Dalam bahagian ini, kita akan membincangkan cara melaksanakan program java untuk mendapatkan saiz fail yang diberikan dalam bait, kilobait dan megabait. Satu bait ialah unit terkecil maklumat digital. Satu bait bersamaan dengan lapan bit. Satu kilobait (KB) = 1,024 bait, satu megabait (MB) = 1,024KB, satu gigabait (GB) = 1,024MB dan satu terabait (TB) = 1,024GB. Saiz fail biasanya bergantung pada jenis fail dan jumlah data yang terkandung di dalamnya. Mengambil dokumen teks sebagai contoh, saiz fail mungkin hanya beberapa kilobait, manakala imej resolusi tinggi atau fail video mungkin

See all articles