SQL检查表是否存在并截断

HS1995

我正在尝试编写一条语句,检查表是否存在以及是否确实将其截断/删除。如果不存在,则打印消息“此表不存在!”

到目前为止,这是我提出的内容,但是似乎没有用。

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章