系统更新,研究DB2数据库系统表

2019-12-02 18:42 来源:未知

转自: http://www.maomao365.com/?p=5277
摘要:
下文首要呈报,怎么着对"已上线的类别"中的表,扩展新的字段。

db2 系统表新闻 


2011-05-25 10:00:18|  分类: DB2 |字号 订阅

系统安插脚本,扩大列的艺术:
在系统脚本发布中,如何是储存过程 自定义函数 视图的改良和新添,我们普通选拔以下步骤来编排此类脚本
1 判别目的(存款和储蓄进度 自定义函数 视图)是或不是留存,怎么着存在我们就删除对象(存款和储蓄进度 自定义函数 视图)
2 新建对象
<hr />
唯独扩张系统字段(列卡塔尔(قطر‎时,大家不可能选择删除表,然后再一次的章程开展脚本管理,
那么大家常见使用 先推断列是不是留存,如若不设有就创设列,假若存在就更改列属性<span style="color:red;font-weight:bold;">(改良列属性--请小心是或不是会影响历史数据卡塔尔(قطر‎</span>
例:

IF NOT EXISTS(SELECT * FROM SYS.COLUMNS 
WHERE OBJECT_ID = OBJECT_ID(N'表名') 
AND NAME = '列名') ---判断列是否存在
begin
---增加列
alter table [表名] 
add column [列名] [列类型]
end
else
begin
---修改列属性
alter table [表名] 
add column [列名] [列类型]
end

DB2 CLP 简介

选取上述措施编写sql安顿脚本的亮点为,sql脚本得以实行数十次,不会冒出报错消息,可避防止已经手动扩展列的数据库发生安插错误提醒音信

DB2 Command Line Processor(DB2 CLP)是兼顾 DB2 产物中都一些,能够选取这么些应用程序运营 DB2 命令、操作系统命令或 SQL 语句。DB2 CLP 能够改为强大的工具,因为它能够将平日利用的指令或语句系列存款和储蓄在批处理公事中,能够在供给的时候运转那一个批处理公事。在 Windows 系统中,必需先(从平常命令窗口)运营 db2cmd 命令来运行 DB2 命令行境遇。

* *

在如何时候使用本文介绍的剧本?

本子的优势在于可以重复实行。假诺贰个职分会被实行多次,或许被多个人施行。那么将该任务编写成脚本会提升任务的实施成效和准确性。本文介绍的脚本都以有的在大家开展仓储进程开拓和调弄收拾中时时使用的。读者在末端会日渐心获得脚本给我们带来的便利。

DB2 系统表的效果

编纂针对 DB2 的剧本,大家需求首先明白 DB2 为大家提供了何等命令和新闻。DB2 为大家提供了大气的通令譬如连接数据库,实行三个 SQL 文件,获得表构造的音信等等。大家会在下边解释具体的脚本的同时对生龙活虎部分简易的 DB2 命令举行解释表达。同不经常候,DB2 把数据库对象的好多音信都存款和储蓄到了系统表中。熟谙那么些系统表就能够通过 SQL 语句拿到大家须求的新闻。上面我们先来学习一下 DB2 系统表。

在 DB2 数据库被创建的时候,DB2 会成立一些系统表。那几个种类表中著录了具有数据库对象的信息,表或视图的列的数据类型,限制的概念,对象的权杖和对象期间的正视关系等。这么些系统表的格局为 SYSIBM,其表名以 SYS 作为前缀。举个例子: SYSTABLES、SYSVIEWS 等等。DB2 为这么些系统表建设构造了绝对应的只读视图。那个视图的格局是 SYSCAT,它们的剧情是其相对应的系统表的整套要么部分内容。这个视图的名字未有SYS 的前缀。比方:SYSCAT.TABLES 是 SYSIBM.SYSTABLES 的视图。

咱俩得以因此 LIST TABLES FOLacrosse SYSTEM 或 LIST TABLES FOTiguan SCHEMA schemaname 命令查看全部的系统表和相关的视图信息。上面咱们会介绍部分本文用到的系统表和视图。

SYSCAT.TABLES:数据库中指标的音讯,满含 table,view,nickname 和 alias 的一些概念。详细说明见表 1。

表 1. SYSCAT.TABLES 视图的印证
列名 数据类型 描述
TABSCHEMA VARCHAR(128) 记录 schema 的名字
TABNAME VARCHA瑞虎(128卡塔尔 记录数据库对象的名称。富含表、视图、外号等
TYPE CHAPAJERO(1卡塔尔 表示该数据库对象是表,视图依旧外号 ('T'表示table; 'V'表示 view; 'N' 表示nickname; 'A' 表示 alias。卡塔尔(英语:State of Qatar)
COLCOUNT SMALLINT 表或视图中列的个数
……

SYSCAT.VIEWS:视图的定义音讯。详细表明见表 2。

表 2. SYSCAT.VIEWS 视图的认证
列名 数据类型 描述
VIEWSCHEMA VARCHAR(128) 视图的 Schema
VIEWNAME VARCHARubicon(128卡塔尔 视图名称
READONLY CHA奥迪Q5(1卡塔尔国 视图是还是不是只读:

    Y = 视图是只读
    N = 视图不是只读

VALID CHARAV4(1卡塔尔(قطر‎ 视图状态是还是不是合法:

    Y = 视图状态合法(valid)
    X = 视图状态违规(invalid)

TEXT CLOB (64K卡塔尔 视图的源程序(DDL)
……

SYSCAT.ROUTINES:DB2 UDF,系统方法(system-generated method),顾客定义方法(user-defined method)和存款和储蓄进程(SP)的概念。大家能够以为该视图满含了数据库中前后相继的概念。见表 3。

表 3. SYSCAT.ROUTINES 视图的求证
列名 数据类型 描述
ROUTINESCHEMA VARCHATiguan(128卡塔尔国 记录程序的 schema
ROUTINENAME VARCHAEvoque(128卡塔尔 记录程序名称
ROUTINETYPE CHAKoleos(1卡塔尔(قطر‎ 记录程序类型:

    F = Function
    M = Method
    P = Procedure

SPECIFICNAME VARCHA奥迪Q5(128)程序实例的称谓(能够内定,也能够由系统自动生成)
VALID CHAWrangler(1卡塔尔国如若存款和储蓄进程信赖的部分指标被剔除或涂改了,该存款和储蓄进度必定要被重新建立

    Y = SQL 存款和储蓄进度是合法的
    N = SQL 存款和储蓄进度是违法的
    X = SQL 存款和储蓄进度是不足操作的

TEXT CLOB(1M卡塔尔(英语:State of Qatar) 倘诺是用 SQL 编写的次序,该字段记录了其制造的 DDL

表 4 所示的 SYSCAT.ROUTINEDEP 表达了 DB2 UDF与其余对象的依附关系。

表 4. SYSCAT.ROUTINEDEP 视图的求证
列名 数据类型 描述
ROUTINESCHEMA VARCHA奇骏(128卡塔尔(قطر‎ 正视于其他对象的 DB2 程序的 schema
ROUTINENAME VARCHA安德拉(128卡塔尔(英语:State of Qatar) 信赖于此外对象的 DB2 程序的称谓
BTYPE CHA福特Explorer(1卡塔尔 信任对象的等级次序:

    A = Alias
    S = Materialized query table
    T = Table
    V = View

BSCHEMA VARCHAPRADO(128卡塔尔(قطر‎ 被重视的靶子的 schema
BNAME VARCHA奇骏(128卡塔尔(قطر‎ 被依赖的对象的称号

表 5 所示的 SYSCAT.COLUMNS 表明了表或视图的每一个列的信息。

表 5. SYSCAT.COLUMNS 视图的声明
列名 数据类型 描述
TABSCHEMA VARCHAPAJERO(128卡塔尔(英语:State of Qatar) 表或视图的 Schema
TABNAME VARCHACRUISER(128卡塔尔(英语:State of Qatar) 表或视图名称
COLNAME VARCHAR(128) 列名称
KEYSEQ SMALLINT 记录列在其表的主键的任务

表 6 所示的 SYSCAT.PACKAGEDEP 表明了 Pachage 与其它数据库对象的注重性关系。

表 6. SYSCAT.PACKAGEDEP 视图的验证
列名 数据类型 描述
PKGSCHEMA VARCHAR(128) Package 的 schema
PKGNAME VARCHAR(18) Package 的名称
BTYPE CHAMurano(1卡塔尔(قطر‎ 正视对象的种类:

    A = Alias
    B = Trigger
    I = Index
    S = Materialized query table
    T = Table
    V = View

BSCHEMA VARCHARAV4(128卡塔尔 被注重的对象的 schema
BNAME VARCHATiggo(128卡塔尔 被信任的对象的称号

表 7 所示的 SYSCAT.TABDEP 表达了视图或许固化视图和 DB2 对象时期的依附关系。

表 7. SYSCAT.TABDEP 视图的辨证
列名 数据类型 描述
TABSCHEMA VARCHAPAJERO(128卡塔尔(英语:State of Qatar) 视图可能固化视图的 schema
TABNAME VARCHAHaval(128卡塔尔(英语:State of Qatar) 视图只怕固化视图的名称
DTYPE CHA路虎极光(1卡塔尔 视图的品种:

    S = Materialized query table
    V = View (untyped)
    W = Typed view

BTYPE CHAHaval(1卡塔尔(英语:State of Qatar) 信赖对象的种类:

    A = Alias
    S = Materialized query table
    T = Table
    V = View

BSCHEMA VARCHA翼虎(128卡塔尔(قطر‎ 被正视的对象的 schema
BNAME VARCHA安德拉(128卡塔尔(英语:State of Qatar) 被信任的对象的名称

回页首

利用脚本实行仓库储存进程开荒

在 DB2 开辟进度中大家日常接纳的操作是:

    连接数据库;
    在不一致的数据库中奉行编写好的 SQL 文件,对创设的数据库对象进行简易测量检验;
    当大家编辑存款和储蓄进程大概 UDF 的时候,我们要求查阅其依据的多寡库表或视图的定义;
    改善表布局的时候,大家须要拿到全部信任那么些表的仓库储存进程和 UDF,幸免因为表布局变迁,使得相关的存款和储蓄过程和 UDF 不可用。

如上操作大家能够在 CLP 下通过调用 DB2 提供的吩咐大概经过 SELECT 语句从 DB2 系统表中查出相关音讯来成功。大家把这些操作编写为如清单 1 所示的剧本。

清单 1. conn.bat ――使用脚本连接数据库

                1. @echo off 2. if {%1}=={} goto noparms  3. if {%1}=={dev} goto dev 4. if {%1}=={test} goto test 5. if {%1}=={prod} goto prod 6. if {%1}=={off} goto terminate 7. goto dev  8. :noparms  9. echo Usage: conn db2type  10. echo example: conn dev  11. echo db2type -- dev, test, prod, off 12. goto end   13. :dev 14. db2 connect to db2dev user username using password 15. PROMPT $P(%1)$G 16. goto end 

  1. :test 18. db2 connect to db2test user username using password 19. PROMPT $P(%1)$G 20. goto end  21. :prod 22. db2 connect to db2prod user username using password 23. PROMPT $P(%1)$G 24. goto end  25. :terminate
  2. db2 terminate 27. PROMPT $P$G 28. goto end   29. :end

历次连续数据库大家只须求键入 conn dev/test 就能够达成数据库的连天,简化了指令输入,幸免输入错误的客户和密码。相同的时候那一个本子也可被其它的本子调用。

第 2 个批管理脚本是如清单 2 所示的实施 SQL 文件的台本。使用形式是 esql test.sql [logsout.log]。

清单 2. esql.bat――执行SQL文件

                1. @echo off 2. if {%2} =={} goto setlog 3. set LogFile=%2 4. goto exe 5. rem 借使未有一点点名输出文件,设置暗中认可输出文件 6. :setlog 7. set LogFile=logsrun.log 8.  9. :exe 10. echo %LogFile% 11. echo --------------------- execute file:%1-------------------- >> %LogFile% 12. db2 values(current time) >> %LogFile% 13. db2 -td@ -f %1 -z %LogFile% 14. db2 values(current time) >> %LogFile% 15. pause

里头 –td@ 选项表示 SQL 文件中各 SQL 语句间的分割符为 @。–z 选项能够使 sql 的实行结果输出到钦赐的 Log 文件中。这里大家运用 -z 而不行使脚本中的管道符号(>)是因为 -z 不只可以够把进行结果记录到内定的文书中,同时还可能会在调节台上显示,那样即方便大家在试行sql 的时候实时理解 sql 运维情状,又足以在 log 中查找解析 sql 执市价况。

该脚本必要四个参数,第二个参数指明要实行的 sql 文件,首个参数指明 log 文件名称,该参数可选。在本子的第 12 行,第 14 行,大家运用 values(current time卡塔尔国来记录脚本实施的始发时间和得了时间。那样可以扶助大家总结出脚本执行完结须求多久。

第 3 个批管理脚本的作用是得到表定义,包含字段属性、主键、前 20 条记下,如若是视图,呈现其创建语句,并展现视图中隐含的表。如清单 3 所示。它的行使方法是 viewtable schema tablename。

项目清单 3. viewtable.bat ――获得表定义

                1. @echo off 2. mkdir logs 3. set logfile=logsview_%2.txt 4. db2 describe table %1.%2 show detail >%logfile% 5. echo  -------below is (are) pk-----------   >>%logfile% 6. db2 "select substr(colname,1,30) as pk from syscat.columns  where keyseq is not null and tabschema=upper('%1') and tabname = upper('%2')" >>%logfile% 7. echo  -----below are the fisrt 20 rows in the %1.%2 table----   >>%logfile% 8. db2 select * from %1.%2 fetch first 20 rows  only >>%logfile% 9. echo  ---------below is the sql of the %1.%2 view ----   >>%logfile% 10. db2 "select varchar(text,32670) from syscat.views  where viewschema=upper('%1')and  viewname = upper('%2')" >>%logfile% 11. echo  -----below are tables  of the %1.%2 view ----   >>%logfile%

  1. db2 "select distinct bname from syscat.viewdep  where viewname= upper('%1')  and btype='T'" >>%logfile% 13. start %logfile%

本子中第 4 行的 describe 命令用于体现数据库表或视图的布局。包涵字段名称,数据类型等。第 6 行用于查出表中的主键。视图 syscat.columns 中的 keyseq 字段注解了该字段在表的主键的相继,为空表示该字段不是表的主键。第 8 行是得到表或视图中的前 20 条记下,便于大家对其分析。第 10 行是获取视图的 SQL 定义。第 12 行拿到视图中依赖的表。

第 4 个批管理脚本的意义是翻开存储进程或 UDF 的定义。如项目清单 4 所示。它的选用办法是 view spname。

清单 4. view.bat ――查看存储进度或 UDF 的概念

                1. @echo off 2. set logfile=logsview_%1.sql 3. db2 select varchar(text,32670)  from syscat.routines  where routinename=upper('%1') > %logfile% 4. echo  -----------------------below are tables used by %1 ---------  >>%logfile% 5. db2 select bname from syscat.packagedep  where (btype='T' or btype='V') and pkgname in (select bname from sysibm.sysdependencies where dname =upper('%1')) >> %logfile% 6. 

  1. start %logfile%

在剧本中我们为此接纳 VARCHA讴歌RDX 函数来格式 TEXT 字段中的内容,是因为 TEXT 字段是 CLOB 类型,其积攒的存储进度或 UDF 的开创语句的字符相当多。假使大家不利用 VARCHAPAJERO 函数进行格式化,DB2 就能够利用暗中同意的 CHAENVISION 函数(CHA牧马人 的最大尺寸是 254)对其格式化,那样回去的 SQL 创立语句就恐怕被截去后边的部分。

第 5 行中脚本首先获得依赖某存款和储蓄进程的持有的包(package)名,然后寻觅信赖那个包的有所的表和视图。这样就足以获得存款和储蓄进度中利用的表和视图。

第 4 个批管理脚本的法力是行使脚本拿到依赖有些表的享有存款和储蓄进程,UDF 和视图。如项目清单 5 所示。它的应用格局是 dep schema spname。

项目清单 5. dep.bat ――使用脚本获得依据有个别表的兼具存款和储蓄进程,UDF 和视图

                1. @echo off 2. mkdir logs 3. set logfile=logs%2.dep.txt 4. echo --- dependent SPs --- >> %logfile% 5. db2 "select r.routineschema, r.routinename  from syscat.routines r,  syscat.packagedep pdep where pdep.bname=upper('%2') and pdep.bschema=upper('%1')  and pdep.pkgname = 'p'||substr(char(r.lib_id+10000000),2) " >> %logfile% 6. echo --- dependent UDF --- >> %logfile% 7. db2 select routineschema, routinename from syscat.routinedep  where bschema = upper('%1')  and bname = upper('%2') and btype ='T'  order by bname >> %logfile% 8. echo --- dependent view --- >> %logfile% 9. db2 select viewschema, viewname from syscat.viewdep  where bschema = upper('%1')  and bname = upper('%2') and btype ='T'  order by bname >> %logfile% 10. start %logfile%

剧本第 5 行是收获依据某表的蕴藏进度。因为存储进程会被编写翻译成包(package)。所以,存储进度和表的依据关系实乃储存进程对应的包(package)和表之间的看重关系。这种关联被记录在 syscat.packagedep 视图中。同样的,大家得以由此询问 syscat.routinedep 和 syscat.viewdep 视图,获得 UDF 和表,视图和表之间的注重关系。

回页首

支付实例

接纳方面包车型大巴本子,进行数据库开采就能够很便利。上边大家看三个开采的事例。

急需描述

鉴于事情转移,大家的《订单管理种类》中的表 MIS.O本田CR-VDE昂Cora 要求加一个字段 GOV_FLAG SMALLINT 来标记是还是不是是政党订单,假如是则须求执行特殊的折扣政策。同期要求去除冗余字段 OHighlanderDE智跑_PRICE_TOT DECIMAL(19,4)。

急需描述

支出进度

大家需求纠正相应的表,存储进程和 UDF 的 SQL 文件,并把它们重新装载到支付数据库和集成测量检验数据库中。并索要保留表中原有数据。

若是大家有八个数据库,一个是名称为 dev 的支出数据库,三个是名称为 test 的融会测量试验数据库。唯有项目首席营业官具有在 test 数据库上施行的权位,开拓人士只可以够在 dev 数据库上举办操作。

率先项目老总会分析需要,制订职分分配;然后开垦职员依照任务分配编写相应的 SQL 和本子文件,並且在 dev 数据库上海展览中心开装载和测量试验;最终项目首席营业官把开辟人士提交的台本文件汇总起来,在 test 数据库上举行装载和测量试验。

  1. 花色老董

品种高管须要把那几个义务分配给组员去做到。首先经理使用脚本 viewtable MIS ORAV4DER查看一下当下在数据库中表的布局,检查增多的字段是还是不是会和别的字段有冲突。然后项目老总使用脚本 dep MIS OEnclaveDEENCORE 拿到依赖表 MIS.ORubiconDEENCORE 的具有 DB2 对象。经过深入分析那个注重对象,项目老总头开采,表构造的更动会促成存储过程MIS.SP_ADD_ORDER、UDF MIS.F_CHECK_ORDER 和视图 MIS.V_O冠道DE索罗德的修改,并会产生多少个存款和储蓄进程需求 rebind。剖判结果汇总如下表 8 所示:

表 8. 等级次序首席试行官的分析结果
名称 实施操作 备注
MIS.SP_ADD_ORDER 修改
MIS.SP_UPDATE_OENVISIONDEENVISION rebind 未有运用要删减的字段,不必改正
MIS.SP_ADD_O昂科威DE哈弗 rebind 未有采纳要删减的字段,不必校订
MIS.F_CHECK_ORDER 修改
MIS.V_ORDER 修改

于是项目经理进行如表 9 的职务分配。

表 9. 项目主任拟订的任务分配
编号 职分 推行人 前提条件 落成标识
10 修改 ORDER.SQL,在 MIS.ORDER 中:

    增加二个字段 GOV_FLAG SMALLINT;
    去除冗余字段 OEvoqueDEEnclave_PRICE_TOT DECIMAL(19,4);
    备注:在剔除原表前,需求首先删除信赖该表的 UDF 和视图。创立新表后,供给把除了 MIS.F_CHECK_ORDER 和 MIS.V_O瑞鹰DE奥迪Q3以外的别样的 UDF 等再度装载到数据库中,何况 rebind 存储进度MIS.SP_UPDATE_ORDER 和 MIS.SP_SELECT_ORDER。

A 无

    项目老董检查完成 SQL 脚本;
    在付出数据库实例 db2dev 上创建和测验成功。

20 根据新的 MIS.O奥迪Q3DEGL450 表布局改进积累进程: SP_ADD_ORDER.SQL B 任务 10 完成

    项目COO检查得了 SQL 脚本;
    在付出数据库实例 db2dev 上创办和测验成功。

30

    依据 MIS.OHavalDELacrosse 表构造改良 UDF F_CHECK_ORDER.SQL 和视图 V_ORDER.SQL
    备注:请先删除信任它们的 DB2 对象,仁同一视新装载它们,使它们的意况合法。

C 任务 10 完成

    项目董事长检查完成 SQL 脚本;
    在付出数据库实例 db2dev 上制造和测量检验成功。

  1. 开拓职员 A

A 接到职务后,从 CVS 中得到表创造 SQL 文件 OLX570DE奥迪Q3.SQL,依照职务供给修正了字段 GOV_FLAG 和 ORDER_PRICE_TOT。上边 A 必要把它装载到数据库中。在再一次创造表 MIS.OLANDDERAV4前,大家需求先做一些准备专门的学问:

    备份表 MIS.ORubiconDECR-V 中的数据;
    获得借助表 MIS.O奥迪Q5DEXC60 全体 UDF,备份这几个UDF;
    获得依据表 MIS.OLacrosseDE大切诺基 的享有存款和储蓄进度,以便在再一次创造表后,对它们进行rebind。

A 首先编写了备份表的 SQL 文件 BACKUP_MIS_O宝马X3DE奥德赛.SQL;然后编写复苏数据的 SQL 文件 RESTORE_MIS_O陆风X8DEENVISION.SQL;施行 dep MIS O摩尔根Plus 4DE兰德酷路泽 得到依据该表的 UDF 和积存进程。编写 DROP_UDF_4_ORDER.SQL,RELOAD_UDF_4_ORDER.SQL 和 REBIND_SP_4_OEscortDE凯雷德.SQL。要是读者不掌握如何获得和 rebind 违法的蕴藏进度,能够参考 DB2 存款和储蓄进度开采最棒实行。

当有着的 SQL 文件编写制定完后,A 初叶编写制定实践脚本,如清单 6 所示:

清单 6. 开拓职员 A 的实行脚本

                rem 连接开采数据库 dev conn dev rem 备份表 esql BACKUP_MIS_OLANDDE途锐.SQL rem 删除信任表的 UDF esql DROP_UDF_4_ORubiconDE牧马人.SQL rem 重新建立表 esql O奇骏DEENCORE.SQL rem 苏醒表数据 esql RESTORE_MIS_ORDER.SQL rem 恢复 UDF esql RELOAD_UDF_4_O大切诺基DEPAJERO.SQL rem rebind 相关存储进度 esql REBIND_SP_4_OLX570DE中华V.SQL rem 断开数据库连接 conn off

透过上面的本子,A 成功的完结了他的任务。他把 SQL 和 Windows 脚本提交给品种经理。

  1. 开拓人士 B

B 接到职务后,从 CVS 中收获 SP_ADD_O福特ExplorerDE大切诺基.SQL。 为了制止其旁人也在改变那些蕴藏进度,B 使用脚本 view SP_ADD_ORDESportage命令拿到了当前数据库中的存款和储蓄进度脚本,然后和 CVS 上的拓宽相比较。当确认获得了新星的 SP_ADD_O大切诺基DE景逸SUV.SQL 后,B 开首修正SP_ADD_O本田UR-VDEENCORE.SQL。更改完成之后,B 又涂改了针对性该存款和储蓄进度的测量试验脚本 TEST_SP_ADD_OMuranoDETucson.SQL。全体的 SQL 校正完,况兼被检查通过后,B 早先编制脚本把仓库储存进度装载到数据库中。脚本内容大致如清单 7 所示。

清单 7. 开辟职员 B 的施行脚本

                rem 连接开拓数据库 conn dev rem 重新创立改善过的储存过程esql SP_ADD_O奥德赛DEENVISION.SQL rem 对重新建立的存款和储蓄进程進展测量检验 esql TEST_SP_ADD_ORDER.SQL conn off

通过地点的台本,B 成功的成功了她的天职。他把 SQL 和 Windows 脚本提交给品种老董。

  1. 开辟人员 C

C 相仿选用 dep MIS F_CHECK_ORDER 和 dep MIS V_OTiguanDERAV4得到依附它们的对象,发现只是 F_CHECK_OCR-VDE景逸SUV有局地注重对象急需重新建设构造。所以 C 编写了下边包车型大巴 SQL 文件:DROP_UDF_4_MIS_F_CHECK_ORDER.SQL 和 RESTORE_UDF_4_MIS_F_CHECK_ORDER.SQL。下面是 Windows 脚本,如清单 8 所示:

项目清单 8. 开荒人士 C 的实行脚本

                rem 连接开垦数据库 conn dev rem 删除 F_CHECK_OOdysseyDE本田CR-V的信任对象 esql DROP_UDF_4_MIS_F_CHECK_O奥迪Q5DE大切诺基.SQL rem 重新建立校勘的 UDF 和视图 esql V_ORDER.SQL esql F_CHECK_O奥迪Q7DEWrangler.SQL rem 苏醒重视对象 esql RESTORE_UDF_4_MIS_F_CHECK_O昂CoraDE景逸SUV.SQL rem 测验重建的 UDF 和视图 esql TEST_V_ORDER.SQL esql TEST_F_CHECK_ORDER.SQL conn off

透过上边的本子,C 成功的完结了他的任务。他把 SQL 和 Windows 脚本提交给品种首席试行官。

  1. 花色主管

项目主任把 A、B、C 提交上的 Windows 脚本合併成多个剧本,并改为总是集成测验数据库,把那几个囤积进度,UDF 等的改变装载到了合并开荒测验数据库中。脚本如清单 9 所示:

清单 9. 联合施行脚本

                conn test esql BACKUP_MIS_ORDER.SQL … esql TEST_V_ORDER.SQL … conn off

如此那般,贰个数据库对象的改进就瓜熟蒂落了。在骨子里费用中的意况或许要更头晕目眩一些。可是通过那些事例大家得以看来,通过接受Windows 脚本,大家得以省去一些重复性的行事还要拉长了专门的学问的准头。当一切集体熟谙了这几个本子,工效的巩固是十三分可观的。

回页首

总结

对台本的灵活高效性情以致 DB2 系统表含义的明亮,是编写出文中脚本的常有。利用脚本和 DB2 系统表的法子和章程远比本文描述的要丰盛得多。有意思味的读者能够加强对它们的钻研。相信会对大家的管见所及专门的学问有着扶持。

TAG标签:
版权声明:本文由金沙澳门唯一官网发布于数据库管理,转载请注明出处:系统更新,研究DB2数据库系统表