在Oracle中若刪除一個不存在的表,如 “DROP TABLE tableName”,則會提示:
ORA-00942:表或視圖不存在
若在程序中執行該語句則會報異常,這就需要我們在刪除表前先判斷該表是否存在,若存在則刪除.
DECLARE
num NUMBER;
BEGIN
SELECT COUNT(1)
INTO num
FROM USER_TABLES
WHERE TABLE_NAME = UPPER('tableName');
IF num > 0 THEN
EXECUTE IMMEDIATE 'DROP TABLE tableName';
END IF;
END;