การลบตารางและข้อมูลทั้งหมดจากฐานข้อมูล Oracle ด้วย SQL Developer

มาลองจินตรนาการว่าเรามีฐานข้อมูลอยู่ก้อนหนึ่ง เราต้องการลบทั้งข้อมูลทั้งตารางนั้นๆทิ้งเราจะมีวิธีการอย่างไร วันนี้ผมมี script ตัวหนึ่งที่ใช้ลบตารางและข้อมูลทั้งหมดมาฝากครับ มาดูกันเลย

1. ใน SQL developer ให้คลิกขวาที่ Connection ที่เราต้องการลบข้อมูล เลือก Open SQL Worksheet ขึ้นมา หากมีอยู่แล้วข้ามขั้นตอนนี้ไปได้เลยครับ

2. พิมพ์คำสั่งนี้ลงไป  : ซึ่งจาก script จะเห็นว่าเป็นการเลือกข้อมูลชื่อตาราง จากตารางของระบบ (user_table) ออกมาทั้งหมดจาก user ที่สร้าง connection อยู่  พร้อมบวกข้อความ 'DROP TABLE "' ก่อนหน้าตารางและ '" CASCADE CONSTRAINTS PURGE;'  ปิดท้าย
  
SELECT 'DROP TABLE "' || table_name || '" CASCADE CONSTRAINTS PURGE;' FROM user_tables;


3. จากนั้นให้กดปุ่ม run script (1) เราจะเห็น script output ถูก generate ออกมา กดปุ่ม run script (2) โปรแกรมจะเปิด script output ไปเป็น working sheet  ใหม่ขึ้นมา


4. ให้กดปุ่ม run script หากต้องการลบทั้งหมด หรือหากไม่ต้องการลบตารางใดตารางหนึ่ง ให้ลบแถวที่มีชื่อตารางนั้นออกแล้วค่อยกดปุ่ม  run script เป็นอันเสร็จสิ้นขั้นตอนการลบตารางและข้อมูลทั้งหมดจากฐานข้อมูล Oracle


หมายเหตุ : จริงๆแล้วแม้จะลบตารางและข้อมูลทั้งหมดจากฐานข้อมูล Oracle แต่ตัว Sequence ยังอยู่นะครับ หากไม่ต้องการลบก็คงไม่เป็นไร แต่ถ้าต้องการลบ Sequenceด้วย  แนะนำให้ใช้คำสั้งนี้คู่กับคำสั้งลบตารางและข้อมูลครับ
  
SELECT 'DROP SEQUENCE ' || SEQUENCE_NAME || ';' FROM USER_SEQUENCES;
ตัวอย่าง เช่น

กดปุ่ม run script เพื่อเปิด script output ไปเป็น working sheet  ใหม่ขึ้นมา จากนั้นกดปุ่ม run script ตามปกติ

About Nop

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment

0 comments:

Post a Comment