เนื้อหา
ข้อผิดพลาด Oracle PL / SQL 955 หรือที่รู้จักกันดีในชื่อ ORA-00955 เกิดขึ้นเมื่อผู้ใช้สร้างวัตถุในฐานข้อมูลด้วยชื่อที่ใช้งานโดยวัตถุที่มีอยู่แล้วเช่นตารางมุมมองดัชนีคำพ้องความหมายหรือกลุ่ม การให้วัตถุชื่ออื่นแก้ไขข้อผิดพลาด
ORA-00955 เป็นข้อผิดพลาดข้อยกเว้นที่เกิดขึ้นกับชื่อที่กำหนดให้กับวัตถุอื่นแล้ว (Justin Sullivan / Getty Images / Getty Images)
ข้อความผิดพลาด
ผู้ใช้สร้างวัตถุบนบรรทัดคำสั่ง Oracle PL / SQL ด้วยชื่อที่แน่นอนและได้รับข้อความ "ชื่อ ORA-00955 มีการใช้งานโดยวัตถุที่มีอยู่แล้ว"
สาเหตุ
ข้อความแสดงข้อผิดพลาดอาจเกิดขึ้นเมื่อผู้ใช้ติดตั้งการอัปเดตรันสคริปต์ใน Oracle PL / SQL ที่ลบหรือสร้างตารางหรือดัชนีหรือใช้คำที่สงวนไว้สำหรับวัตถุที่ระบบกำหนด โดยทั่วไปผู้ใช้จะพยายามสร้างวัตถุที่มีชื่อที่กำหนดให้กับวัตถุอื่นในฐานข้อมูลแล้ว
ทางออก
ผู้ใช้ควรเลือกชื่อหรือวัตถุอื่นหรือแก้ไขและเปลี่ยนชื่อวัตถุที่มีอยู่เพื่ออนุญาตให้ใช้ชื่อที่ต้องการ ดู DBA_OBJECTS หรือ USER_OBJECTS เพื่อยืนยันว่าผู้ใช้รายอื่นมีชื่อที่ใช้งานหรือไม่
ตรวจสอบชื่อเล่นและคำพ้องความหมายสาธารณะสำหรับชื่อที่มีอยู่โดยใช้คำสั่งต่อไปนี้:
เลือก * จาก ALL_OBJECTS WHERE ObjectName = "NAME";
ตาราง ALL_OBJECTS มีรายการออบเจ็กต์ที่ผู้ใช้ทุกคนสามารถเข้าถึงได้สำหรับ ID ล็อกอินเฉพาะ หากต้องการใช้ชื่อซ้ำให้ลบวัตถุที่ไม่ต้องการทั้งหมดที่มีชื่อเดียวกัน
ละเว้นข้อผิดพลาดโดยใช้การจัดการข้อยกเว้น
ผู้ใช้สามารถข้าม ORA-00955 โดยการสร้างตัวจัดการข้อยกเว้นที่ละเว้นข้อผิดพลาดในการสร้างวัตถุ สร้างรหัส PL / SQL ที่จะจัดการข้อผิดพลาดและกำหนด "NULL" ให้กับสถานะ:
ประกาศข้อยกเว้น MyNamedTableExists; pragma exception_init (MyNamedTableExists, -955); sql_stmt varchar2 (50): = 'สร้าง tempstore ของตาราง (หมายเลข col1)'; เริ่มต้น / รัน sql_stmt ทันที / สร้างตาราง MyNamedTableExists เลือกเป็น * จาก MySupposedTable; /+ ละเว้นข้อผิดพลาด ORA-955 หากชื่อตารางมีอยู่แล้ว) / ยกเว้นเมื่อ MyNamedTableExists แล้ว NULL; END;