Pertanyaan SQL Merentas Pangkalan Data untuk Mendapatkan Nama Jadual
Membina aplikasi yang berinteraksi dengan pelbagai sistem pangkalan data memerlukan kaedah yang konsisten untuk mendapatkan semula data. Artikel ini menangani cabaran untuk mengambil nama jadual daripada pangkalan data tertentu menggunakan SQL, memastikan keserasian merentas jenis pelayan yang berbeza. Walaupun paparan INFORMATION_SCHEMA.TABLES
menawarkan pendekatan yang kelihatan universal, variasi dalam pengendalian skema merentas pangkalan data memerlukan pelarasan.
Pendekatan naif untuk menanyakan INFORMATION_SCHEMA.TABLES
mungkin secara tidak sengaja mengembalikan jadual daripada semua pangkalan data. Untuk mengehadkan keputusan kepada satu pangkalan data, pengubahsuaian khusus pangkalan data diperlukan.
SQL Server:
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'dbName'</code>
Ganti 'dbName'
dengan nama pangkalan data sebenar.
MySQL:
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA = 'dbName'</code>
Sekali lagi, gantikan 'dbName'
dengan nama pangkalan data sasaran anda.
Oracle:
Pendekatan Oracle berbeza sedikit; paparan DBA_TABLES
biasanya digunakan. Pertanyaan tepat mungkin berbeza-beza bergantung pada keistimewaan, tetapi pendekatan biasa ialah:
<code class="language-sql">SELECT table_name FROM dba_tables WHERE owner = 'dbName'</code>
Di sini, 'dbName'
mewakili pemilik pangkalan data atau nama skema. Ambil perhatian bahawa keistimewaan yang sesuai diperlukan untuk mengakses DBA_TABLES
.
Dengan menggunakan pelarasan khusus pangkalan data ini, anda boleh mencipta aplikasi teguh yang mampu mendapatkan semula nama jadual daripada pangkalan data yang ditetapkan tanpa mengira sistem pangkalan data asas. Ini memastikan kefungsian yang konsisten dan memudahkan interaksi pangkalan data merentasi pelbagai persekitaran.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengambil Nama Jadual Secara Konsisten daripada Pangkalan Data Tertentu Menggunakan SQL Merentasi Jenis Pelayan Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!