วิธีรับชื่อคอลัมน์ทั้งหมดในฐานข้อมูล Oracle
ฐานข้อมูล Oracle จัดตารางเป็นบัญชีเจ้าของที่เรียกว่าสคีมา ผู้ใช้ฐานข้อมูลที่มีสิทธิ์ที่แตกต่างกันสามารถสืบค้นข้อมูลเมตาของฐานข้อมูล ซึ่งเรียกว่า "พจนานุกรมข้อมูล" เพื่อแสดงรายการข้อมูลซึ่งรวมถึงชื่อคอลัมน์ สิทธิ์ของออบเจ็กต์ หรือสถิติของออบเจ็กต์ ในการรับชื่อคอลัมน์จากตารางหรือมุมมองบนเซิร์ฟเวอร์ฐานข้อมูล Oracle ให้รันการสืบค้นแบบสั้นโดยใช้อ็อบเจ็กต์ data-dictionary ที่เหมาะสมที่สุด มุมมอง USER_TAB_COLS แสดงวัตถุที่ผู้ใช้ที่เข้าสู่ระบบเป็นเจ้าของ ในขณะที่ ALL_TAB_COLS แสดงวัตถุทั้งหมดที่มีให้สำหรับผู้ใช้ตามการอนุญาตของเขา และ DBA_TAB_COLS จะแสดงทุกอย่างในฐานข้อมูลโดยไม่คำนึงถึงบัญชีผู้ใช้ที่เป็นเจ้าของวัตถุ
ขั้นตอนที่ 1
ดำเนินการแบบสอบถาม SQL มาตรฐานเพื่อส่งคืนผลลัพธ์จากมุมมองระบบที่เหมาะสมที่สุด แบบสอบถามพื้นฐานปรากฏในแบบฟอร์ม:
เลือก * จาก USER_TAB_COLS;
แทนที่ ALL_TAB_COLS หรือ DBA_TAB_COLS ตามความเหมาะสม สัญลักษณ์ "*" ส่งกลับคอลัมน์ทั้งหมดในแบบสอบถาม
ขั้นตอนที่ 2
จำกัดข้อมูลที่ส่งคืนในคิวรีโดยแทนที่ "select *" ด้วยรายการคอลัมน์ที่ตรงเป้าหมายมากขึ้นจากมุมมองพจนานุกรม หากต้องการส่งคืนเฉพาะสคีมา ชื่อตาราง และชื่อคอลัมน์สำหรับออบเจ็กต์ที่บัญชีที่เข้าสู่ระบบสามารถเข้าถึงได้ ให้ใช้:
เลือกเจ้าของ table_name, column_name จาก ALL_TAB_COLS;
จำกัดวัตถุที่ส่งคืนโดยจำกัดผลลัพธ์ของคุณด้วยประโยค "ที่ไหน" ตัวอย่างเช่น หากต้องการส่งคืนเฉพาะชื่อคอลัมน์สำหรับตารางที่ผู้ใช้เข้าสู่ระบบเป็นเจ้าของและเริ่มต้นด้วยตัวอักษร "A" ให้ใช้:
เลือก * จาก USER_TAB_COLS โดยที่ table_name LIKE 'A%';