Oracle升级脚本小记
日常升级脚本中,我们常常会使用简单的方式进行数据库升级脚本的编写,比如:
insert into table(col1,col2)values('1',2');
这种做法不支持数据库的重复升级,容易造成数据冗余,甚至会让业务系统无法运行。
虽然数据库的开发中要求我们建立表的时候用外键等关系去约束数据,但是不排除很多时候,我们为了以后开发的方便,而没有建立外键关系。
这里推荐使用Declare的方式进行数据库的重复升级操作。
我只写oracle的,具体mysql,sqlserver的,其实都差不多。
插入语句:
DECLARE
VN_FLAG NUMBER;
BEGIN
SELECT COUNT(1)
INTO VN_FLAG
FROM TABLE T
WHERE T.COL1='1';
IF VN_FLAG = 0 THEN
INSERT INTO TABLE(COL1,COL2)
VALUES('1','2');
COMMIT;
END IF;
END;
/
更新语句:
DECLARE
VN_FLAG NUMBER;
BEGIN
SELECT COUNT(1)
INTO VN_FLAG
FROM TABLE T
WHERE T.COL1='1' AND T.COL2='2';
IF VN_FLAG = 0 THEN
UPDATE TABLE SET COL2='3' WHERE COL1='1' AND COL2='2';
COMMIT;
END IF;
END;
/
本文来自:Oracle升级脚本小记-小码农,转载请保留本条链接,感谢!
温馨提示:
本文最后更新于 2022年06月23日,已超过 807 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
正文到此结束
- 本文标签: oracle
- 本文链接: https://djc8.cn/archives/oracle-upgrade-scripting.html
- 版权声明: 本文由小码农原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
热门推荐
相关文章
该篇文章的评论功能已被站长关闭