重复执行脚本

一个产品如果迭代周期比较长,再加上如果各个项目上的版本不同,就会出现各种脚本,管理的如果很细就不会出现脚本问题,如果管理不当就会浪费一些时间去看脚本问题。下面列举几个常见脚本数据,批量执行的例子。

1.存在的表添加一个字段:

BEGIN
-- 实体表升级脚本
   DECLARE
      V_TEMP NUMBER;
      V_SYS_ERROR NUMBER;
    PRIMARYKEYEXISTEDCOUNT NUMBER;
   BEGIN
         SELECT COUNT(1) INTO V_TEMP FROM USER_TAB_COLUMNS WHERE TABLE_NAME=UPPER('表名') AND COLUMN_NAME=UPPER('字段名');
      IF V_TEMP<=0 THEN
        --若不存在该字段则添加
        BEGIN
            EXECUTE IMMEDIATE 'ALTER TABLE 表名 ADD 字段名 NUMBER(16)';
        EXCEPTION
            WHEN OTHERS THEN
              V_SYS_ERROR := SQLCODE;
          END;
        END IF;
 -- 判断
       IF V_SYS_ERROR = 0 THEN

       BEGIN
          COMMIT;
       END;
       ELSE
       BEGIN
          ROLLBACK;
       END;
       END IF;
   END;

END;

/
COMMENT ON COLUMN 表名.字段名 IS '注释';
/

上面的sql就会去判断是否存在,可以重复执行不会报错。

2.借助第三方工具导出初始化数据:

利用Toad这个工具(具体下载安装百度一下)

默认链接,sql改成plsql.

写好查询的sql语句。

按照这个配置然后点击ok就会粘贴到对应文本文档上面生成MERGE语句。这样就可以多次执行。

注意:不过如果删除的话就要提供对应删除脚本这个只会新增和更新

猜你喜欢

转载自blog.csdn.net/zzqcsdn123/article/details/103469010