我正在尝试编写一条语句,检查表是否存在以及是否确实将其截断/删除。如果不存在,则打印消息“此表不存在!”
到目前为止,这是我提出的内容,但是似乎没有用。
BEGIN
TRUNCATE TABLE PPA_P6_2018;
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE = -942 THEN
DBMS_OUTPUT.put_line('This table does not exist!');
ELSE
RAISE;
DBMS_OUTPUT.put_line('This table has been delted!');
END IF;
END;
DECLARE
v_count NUMBER;
v_table_name VARCHAR2 (100) := 'YOURTABLE';
v_sqlstr VARCHAR2 (1000);
BEGIN
SELECT COUNT ( * )
INTO v_count
FROM user_tables
WHERE table_name = v_table_name;
IF v_count > 0
THEN
v_sqlstr := 'DELETE FROM ' || v_table_name;
EXECUTE IMMEDIATE v_sqlstr;
DBMS_OUTPUT.put_line (
'TABLE ' || v_table_name || ' HAS BEEN DELETED!');
ELSE
DBMS_OUTPUT.put_line ('TABLE ' || v_table_name || ' DOES NOT EXIST!');
END IF;
END;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句