Oracle 项目中 SQL 脚本更新方式

时间:2021-06-14 20:45:35

SQL Server 项目中 SQL 脚本更新方式

DECLARE
hasVersion number(1);
dbVersion VARCHAR2(50);
BEGIN
SELECT COUNT(1) INTO hasVersion FROM ELB_SETTINGS E WHERE E.KEY='dbVersion'; --表中某个地方存当前版本信息
IF hasVersion=0 THEN
INSERT INTO ELB_SETTINGS(ID,TYPE_CODE,TYPE_NAME,KEY,VALUE,DESCRIPTION) VALUES(SYS_GUID(),'','数据库版本','dbVersion','','数据库版本,供升级使用'); --没有版本信息,添加一条
DBMS_OUTPUT.PUT_LINE('初始化数据库版本信息'); --输出更新日志
COMMIT;
END IF;
SELECT VALUE INTO dbVersion FROM ELB_SETTINGS E WHERE E.KEY='dbVersion'; --表中某个地方存当前版本信息
--数据库脚本更新判断
IF dbVersion<'' THEN
---这里写更新脚本的SQL
UPDATE ELB_SETTINGS SET VALUE='' WHERE KEY='dbVersion'; --更新完将版本信息更新
COMMIT;
DBMS_OUTPUT.PUT_LINE('201709010 的解本已更新'); --输出更新日志
END IF;
IF dbVersion<'' THEN
---这里写更新脚本的SQL
EXECUTE IMMEDIATE 'ALTER TABLE ELB_DEPARTMENT ADD (IS_EMERGENCY NUMBER(1) DEFAULT 0 ) ';--修改表结构,要使用 EXECUTE IMMEDIATE
UPDATE ELB_SETTINGS SET VALUE='' WHERE KEY='dbVersion'; --更新完将版本信息更新
COMMIT;
DBMS_OUTPUT.PUT_LINE('201709120 的解本已更新');--输出更新日志
END IF;
END;