达梦数据库快速删除指定模式下的所有表

达梦中快速删除某个指定模式下的所有表,这里需要使用有查询 DBA_TABLES 的账号执行,如 SYSDBA 。

DECLARE
        VAR1     VARCHAR(20) := 'YOUR_SCHEMA_NAME';
        TAB_NAME VARCHAR(100);
        SQL1     VARCHAR(500);
        SQL2     VARCHAR(500);
        C1 CURSOR;
BEGIN
       SQL1 = 'SELECT TABLE_NAME FROM DBA_TABLES WHERE OWNER = '''||VAR1||''';';
       OPEN C1 FOR SQL1;
              LOOP
                  FETCH C1 INTO TAB_NAME;
                  EXIT WHEN C1%NOTFOUND;
                  SQL2 = 'DROP TABLE "' || VAR1 || '"."' ||TAB_NAME || '";' ;
                  EXECUTE IMMEDIATE SQL2;
              END LOOP;
       CLOSE C1;
END

 

posted @ 2023-11-02 14:27  安培昌浩  阅读(5532)  评论(0)    收藏  举报