维护检查实用程序所用例外表的方法

文档序号:6419218阅读:177来源:国知局
专利名称:维护检查实用程序所用例外表的方法
技术领域
本发明涉及数据库管理系统,尤其涉及一种用于在数据库管理系统中检查实用程序所用例外表的方法。
定单项目表
虽然上述定单项目表显示了四行,该表格可以具有用于一个公司所有定单的几百万行,例如四百万行。定单项目表还具有例如三个索引关键字和两个外部关键字。一个索引关键字是用于表格特定行的一个标识符,而外部关键字也标识一行,但是也如上所述被用于参照整性(referential integrity)。例如,在定单项目表中,一个索引关键字可以基于定单编号,另一个索引关键字基于顾客姓名,第三关键字基于运送到的邮编。如在现有技术中公知的,用于一个特定表格的一个索引关键字表示行的标识(RID)和对该行的一个选定值(例如索引关键字数值)。
索引关键字可以被用来生成用于该表格的一个索引,该索引便于随后搜索该表格中的特定数据。例如,定单项目表将具有三个索引(例如每个索引关键字使用一个索引),每个索引被存储在一个索引空间中。类似于表格空间,索引空间例如是DASD的一个指定部分。因而,如果一个用户在定单项目表中寻找包含一个特定购买者姓名的行,数据库管理系统将在表格中查找顾客索引,以识别出该顾客名称的所有出现,而不需要读取整个表格来找到该行的位置。
DB2管理者分析访问一个数据库表格的应用程序的性能特性以发现用于快速访问数据库表格的最佳索引结构。将用作一个索引的数值必需比认真地选择,因为每个索引导致数据库系统的额外开销。例如,诸如增加或删除的数据库表格中的每次处理要求用于该表格的每个索引也被更新。因而,希望用于一个表格的索引数被最小化以增强应用程序的性能。例如根据通常是在线处理用户的表格用户最频繁访问的数据来选择用于数据库表格的索引。索引关键字通常不依据外部关键字,因为外部关键字主要用于验证目的(例如强制约束constraintenforcement)。
如在现有技术中公知,数据库中的每个表格可以是一个父表或一个子表或者两者。一个子表通过外部关键字数值或者在子表的列中包含的数值与一个父表相联系。例如,一个外部关键字数值可以在一个子表中出现多次(例如子表中的多行可以具有相同的外部关键字,例如定单项目表中的“客户编号”和“产品编码”项目),但是每个外部关键字必需与子表的父表中的一个唯一关键字相联系。
参照完整性确保每个外部关键字数值是有效的(例如具有父表中的一个相应主关键字)。因此,参照完整性(RI)是指,当表格中一行某列中的值还存在于另一个表格的一个索引中时,这个值是有效的。如果一行违反了一个约束就不应当在一个表格中。如上所示的定单项目表具有两个外部关键字,它具有在“客户编号”和“产品编码”上的RI约束。如在现有技术中公知的,当DB2数据库管理系统的一个用户创建一个表格时,用户还定义该表格的约束条件(例如用户还定义相关完整性标准)。下面图示的是一个示例性产品表和一个示例性客户表(例如用于定单项目表中外部关键字的父表)。
产品表
产品表显示了五行,当然该表可以具有用于一个公司不同的所有产品的几千行。产品表例如具有基于“产品编码”列的一个索引,其值以升序表示。“产品编码”列中的每个数值都是唯一的,因为仅有一个产品编码被分配给每个产品,因此在这个表格中,一个产品编码不可能被包括多次。因此,用于该产品表的一个索引将包括关键字数字(例如在产品编码列中所存储的数值)和RID。产品表索引将驻留在一个DB2索引空间中。
下面表示的客户表格显示了四行,当然这个表格也可以具有用于一个公司所有客户的几千行。客户表例如具有一个基于“客户编号”列的索引,其值以升序被排列。“客户编号”列中的值每个都是唯一的,因为仅有一个该列的客户编号被分配给每个客户名称,因此一个客户编号在该表中将不会被包括多次。因此,用于客户表的一个索引将包括关键字数值(例如“客户编号”列的数值)和一个RID。客户索引也将驻留在一个DB2索引空间中。
客户表
如上面的表格所示,定单项目表中的所有行是有效的(例如没有违反参照完整性约束),因为定单项目表的产品编码列中的外部关键字的值也存在于产品表中,定单项目表的客户编号列中的值也存在于客户表中。
诸如DB2的常规数据库管理系统向用户提供识别在一行可以被添加到一个表格之前它必需满足的具体条件的能力。这些条件被称作“约束”,因为它们限制一行可以包括的值。约束例如包括检查约束和参照完整性约束。检查约束包括例如用于一个特定值的限定标准,例如在00000到99999范围内的邮政编码值(例如在定单项目表中的“运送到的邮编”值)。如上所述,当表格内一行中的一个数值还存在于另一个表格的一个索引中时,参考整体约束确保该数值是正确的。
在将数据被装载在数据库表格内之前或者在数据已经被装载到一个数据库表格内之后可以执行强制约束。当在将数据装入数据库表格内之后执行强制约束,例如作为一个硬件的软件故障之后的恢复操作的一部分,通常由一个检查实用程序来执行强制约束,例如IBM公司的CHECK DATA、BMC软件公司的CHECK PLUS和白金技术公司的FASTCHECK。
常规检查实用程序确保表格中的数据不违反已经为该表格建立的任何约束。可以在生成表格时建立约束。例如,约束可以在表格在数据库系统中被初始创建时被定义并被存储在DB2目录中,它可以随后由检查实用程序来识别约束信息。
如在现有技术中公知的,为了执行强制约束,一个常规检查实用程序例如可以被初始化并标识可以被应用于表格中通过读取DB2目录来检查的任何约束。然后,检查实用程序例如将读取数据库表格的每一行,并检查所谓的检查约束违反和/或参照完整性约束违反。
如在现有技术中公知的,在检查实用程序每次对一个表格进行操作之前生成一个例外表(例如生成一个新的例外表或每次执行强制约束时替换一个先前的例外表)。例如,当一个用户创建一个工作流以执行检查实用程序时,工作流的步骤包括创建一个新的例外表。例外表例如是数据库的一个镜像,除了例外表仅包含包括一个违反约束的行。例如,检查实用程序将整个行拷贝到例外表中。将一个错误行拷贝到例外表中的一个示例性SQL语句如下<pre listing-type="program-listing"><![CDATA[  INSERT INTO PDLNR.EXTDOCDPP4  VALUES (′SALE′   ,′2004-10-04′   ,′07.55.34′   ,0   ,33329   ,’V’   ,-.05   ,x’0000201′,CURRENT TIMESTAMP);]]></pre>如上述代码所示,在数据库表格PDLNR.TDOCDPP中包含一个违反约束的行将被复制到例外表PDLNR.EXTDOCDPP4中。
然而,在检查实用程序使用一个例外表之前,必需创建例外表。而且,如果检查实用程序先前已经对一个表格进行操作,先前创建的例外表必需被删除并创建一个新的例外表。现有技术检查实用程序执行的关于例外表的创建和删除的一个例子如下。例如,假设包括三个父表和三十一个从属表的一个典型的用户应用系统(父表和从属表的其它组合也是可能的)。当客户为从属表执行一个常规检查实用程序时,每个从属表仅需要一个例外表。如上所述并且是在现有技术中公知的,每个例外表例如是一个用于包含检查实用程序标识为违反一个约束的行的工作表格。当为一个参考完整性约束违反检查一个从属表的表格空间时,常规检查实用程序的用户需要执行下述步骤。
例如,对于每个从属表格,用户必需编码和执行下述示例性SQL语句。
<pre listing-type="program-listing"><![CDATA[  DROP TABLESPACE DBISIP.TSISIP01;  CREATE TABLESPACE TSISIP01   IN DBISIP   USING STOCROUP SGISIP   PRIQTY 52   SECQTY 26   ERASE NO   FREEPAGE 0   PCTFREEE 5   BUFFERPOOL BP0   LOCKSIZE ANY   CLOSE YESLOCKMAX SYSTEM   CCSID EBCDIC  CREATE TABLE PDISIP.TBHORDCT   LIKE PDUTL03.TBHORDCT   IN DBISIP.TSISP01;  ALTER TABLE PDISIP.TSISIP01   ADD RID CHAR(4);  ALTER TABLE PDISIP.TBHORDCT   ADD TIME TIMESTAMP NOT NULL WITH DEFAULT]]></pre>上述代码描述例如删除一个已有例外表(例如TSISIP01)和为每个将被检查的从属表创建一个新的例外表(例如TSISIP01)的步骤。另外,该代码说明用于新创建例外表的检查实用程序所需要的示例性修改(例如添加用于行标识的一个新列和用于时间标记的一个新列)。
因为上述例子具有三十一个从属表格空间,上述代码必需被写入和执行三十一次(例如每次用于一个从属表格空间)。另外,检查实用程序的用户还必需编码一个控制语句以运行检查实用程序,控制语句命名所有的将被检查的从属表格空间并标识与从属表格相关的所有例外表。为了这个目的,将由一个用户编写的示例性SQL语句被表示如下<pre listing-type="program-listing"><![CDATA[CHECK DATA TABLESPACE JTINLAND.SCHORDCT, TABLESPACE JTINLAND.SCHITMDI, TABLESpACE JTINLAND.SCHHDINF, TABLESPACE JTINLAND.SCHREFL2, TABLESPACE JTINLAND.SCHCMAIL, TABLESPACE JTINLAND.SCHBILDG, TABLESPACE JTINLAND.SCHFACFW, TABLESPACE JTINLAND.SCHEHRAC, TABLESPACE JTINLAND.SCHCOATI, TABLESPACE JTINLAND.SCHCTGCM, TABLESPACE JTINLAND.SCHSSTCK, TABLESPACE JTINLAND.SCHSRORD, TABLESPACE JTINLAND.SCPEPRCE, TABLESPACE JTINLAND.SQOMFGHD, TABLESPACE JTINLAND.SQOMFCHI, TABLESPACE JTINLAND.SQOMFCMT, TABLESPACE JTINLAND.SQOMFOVR, TABLESPACE JTINLAND SQOMFOVU, TABLESPACE JTINLAND.SQOMFMPL, TABLESPACE JTINLAND.SQOMFOVP, TABLESPACE JTINLAND SQOMFCHE, TABLESPACE JTINLAND.SQOMFUNT, TABLESPACE JTINLAND.SQOMFTRQ, TABLESPACE JTINLAND.SCHEITMR, TABLESPACE JTINLAND.SCHORDFW, TABLESPACE JTINLAND.SCHORHLD, TABLESPACE JTINLAND.SCHREFRL, TABLESPACE JTINLAND.SCHRETYP, TABLESPACE JTINLAND.SCPEPICS, TABLESPACE JTINLAND.SCHERCYL, TABLESPACE JTINLAND.SCHCACKW   FOR EXCEPTION IN PDUTL03.TBHORDCT USE PDISIP.TBHORDCT   FOR EXCEPTION IN PDUTL03.TBHITMDI USE PDISIP TBHITMDI   FOR EXCEPTION IN PDUTL03.TBHHDINF USE PDISIP.TBHMDINF   FOR EXCEPTION IN PDUTL03.TBHREFL2 USE PDISIP.TBHREFL2   FOR EXCEPTION IN PDUTL03.TBHCMAIL USE PDISIP.TBHCMAIL   FOR EXCEPTION IN PDUTL03.TBHBILDG USE PDISIP.TBHBILDGFOR EXCEPTION IN PDUTL03.TBHFACFW USE PDISIP.TBHFAcFW   FOR EXCEPTION IN PDUTL03.TBHEHRAC USE PDISIP.TBHEHRAC   FOR EXCEPTION IN PDUTL03.TBHCOATI USE PDISIP.TBHCOATI   FOR EXCEPTION IN PDUTL03.TBHCTGCM USE PDISIP.TBHCTGCM   FOR EXCEPTION IN PDUTL03.T~HSSTCK USE PDISIP.TBHSSTcK   FOR EXCEPTION IN PDUTL03.TBHSRORD USE PDISIP.TBHSRORD   FOR EXCEPTION IN PDUTL03.TBPEPRCE USE PDISIP.TBPEPRcE   FOR EXCEPTION IN PDUTL03.TQOMFGHD USE PDISIP.TQOMFGHD   FOR EXCEPTION IN PDUTL03.TQOMFCHI USE PDISIP.TQOMFCHI   FOR EXCEPTION IN PDUTL03.TQOMFCMT USE PDISIP.TQOMFCMT   FOR EXCEPTION IN PDUTL03 TQOMFOVR USE PDISIP.TQOMFOVR   FOR EXCEPTION IN PDUTL03.TQOMFOVU USE PDISIP.TQOMFOVU   FOR EXCEPTION IN PDUTL03.TQOMFMPL USE PDISIP.TQOMFMPL   FOR EXCEPTION IN PDUTL03.TQOMFOVP USE PDISIP.TQOMFOVP   FOR ExCEPTION IN PDUTL03.TQOMFCHE USE PDISIP.TQOMFCHE   FOR EXCEPTION IN PDUTL03.TQOMFUNT USE PDISIP.TQOMFUNT   FOR EXCEPTION IN PDUTL03.TQOMFTRQ USE PDISIP.TQOMFTRQ   FOR EXCEPTION IN PDUTL03.TBHEITMR USE PDISIP.TBHEITMR   FOR EXCEPTION IN PDUTL03.TBHORDFW USE PDISIP.TBHORDFW   FOR EXCEPTION IN PDUTL03.TBHORHLD USE PDISIP.TBHORHLD   FOR EXCEPTION IN PDUTL03.TBHREFRL USE PDISIP.TBHREFRL   FOR EXCEPTION IN PDUTL03.TBHRETYP USE PDISIP.TBHRETYP   FOR EXCEPTION IN PDUTL03.TBPEPICS USE PDISIP.TBPEPICS   FOR EXCEPTION IN PDUTL03.TBHERCYL USE PDISIP.TBHERCYL   FOR EXCEPTION IN DUTL03.TBHCACKW USE PDISIP.TBHCACKW]]></pre>如上述控制语句所示,每个从属表格空间被标识(例如“TABLESPACE JTINLAND.SCHORDCT”表示数据库JTINLAND所拥有的从属表格SCHORDCT)。在标识三十一个从属表格之后,将用于每个独立表格的例外表被标识(例如“FOR EXCEPTION INPDUTL03.TBHORDCT USE PDISIP.TBHORDCT”表示例外表TBHORDCT将用于从属表格TBHORDCT)。
如上面的为常规检查实用程序执行约束限制的操作必需被编写和执行的示例性代码所表示的,用户必需消耗大量的精力来诸如删除检查实用程序在先前操作中创建的例外表的表格空间和创建新的例外表的表格空间。
因为数据库经常具有大量的从属表,用户必需定期地对这些表格和所有从属表格执行参考整体检查。这一处理可能很长,并繁杂地涉及许多步骤和大量的手写编码SQL命令以表示将被检查的表格,创建例外表和将例外表指定给参照完整性检查实用程序。这个处理不仅消耗时间,而且容易出错。因此,希望以自动的方式简化与从属表格参照完整性检查相关的工作。
图2图示根据本发明一个实施例用于为一个检查实用程序根据维护例外表的另一个示例性流程图。
本发明的详细说明

图1图示根据本发明一个实施例的用于为一个检查实用程序根据维护例外表的一个示例性流程图。如图1所示,在步骤1010,读取一个控制语句,标识执行指定表格空间上的约束限制所需的参数。在步骤1020,由例如根据本发明的一个实施例修改的一个常规检查实用程序处理该控制语句。在步骤1030,生成删除或创建例外表所需的SQL语句。在步骤1040,执行在步骤1030中生成的SQL语句。
下面所述的是根据本发明一个实施例的一个示例性SQL控制语句。例如,这个控制语句可以在图1所示的步骤1010中由检查实用程序的一个用户生成。然后,根据本发明的一个实施例,该控制语句将被提供给一个常规检查实用程序进行处理。
<pre listing-type="program-listing"><![CDATA[CHECK DATA TABLESPACE JTINLAND.SCHORDCT, TABLESPACE JTINLAND.SCHITMDI, TABLESPACE JTINLAND.SCHHDINF, TABLESPACE JTINLAND.SCHREFL2, TABLESPACE JTINLAND.SCHCMAIL, TABLESPACE JTINLAND.SCHBILDG, TABLESPACE JTINLAND.SCHFACFW, TABLESPACE JTINLAND.SCHEHRAC, TABLESPACE JTINLAND.SCHCOATI, TABLESPACE JTINLAND.SCHCTGCM, TABLESPACE JTINLAND.SCHSSTCK, TABLESPACE JTINLAND.SCHSRORD, TABLESPACE JTINLAND.SCPEPRCE, TABLESPACE JTINLAND.SQOMFGHD, TABLESPACE JTINLAND.SQOMFCHI, TABLESPACE JTINLAND.SQOMFCMT, TABLESPACE JTINLAND.SQOMFOVR, TABLESPACE JTINLAND SQOMFOVU, TABLESPACE JTINLAND.SQOMFMPL, TABLESPACE JTINLAND.SQOMFOVP, TABLESPACE JTINLAND SQOMFCHE, TABLESPACE JTINLAND.SQOMFUNT, TABLESPACE JTINLAND.SQOMFTRQ, TABLESPACE JTINLAND.SCHEITMR, TABLESPACE JTINLAND.SCHORDFW, TABLESPACE JTINLAND.SCHORHLD, TABLESPACE JTINLAND.SCHREFRL, TABLESPACE JTINLAND.SCHRETYP, TABLESPACE JTINLAND.SCPEPICS, TABLESPACE JTINLAND.SCHERCYL, TABLESPACE JTINLAND.SCHCACKW   USING   DATABASE DBISIP   TABLESPACE TSISIP   STOGROUP SGISIP   PRIQTY 52   SECQTY 26   OWNER PDISIP   DROPYES]]></pre>如在上述示例性SQL控制语句中表示的,根据本发明的一个实施例,在语句USING之后控制语句包含由常规检查实用程序处理的多个关键字。控制语句的格式是设计选择的问题,只要该格式可以由检查实用程序来处理(例如分析)。然而,在关键字之前,将被检查的从属表格空间的名称由用户提供,根据该名称可以确定将被检查的从属表格。例如,如在现有技术中公知的,检查实用程序例如通过读取数据库的DB2目录可以识别在每个从属表格空间中从属表格的名称。在由本申请的代理人代理的序列号No.09/151,750,标题为“强制约束最佳处理的动态确定(DYNAMIC DETERMINATION OFOPTIMAL PROCESS FOR ENFORCING CONSTRAINTS)”的待审专利申请中包含有如何读取DB2目录的说明,在此引用作为参考。
在本发明的另一实施例中,并不提供将被检查的所有从属表格空间的名称,可以在控制语句中提供父表格空间的名称。使用这个信息,DB2目录可以被读取以识别相关从属表格空间,从而不需要用户手工地标识从属表格空间。例如,仅标识父表格空间的控制语句可以具有任何格式或语法,如果该格式或语法可以由适当的实体来解释和处理,例如检查实用程序或可以访问一个DB2目录的其它DB2实用程序。
根据本发明一个实施例的示例性SQL控制语句包括用于预定例外表格参数的关键词。例如,一个关键词是将被创建的表格空间中数据库的名称(例如用于新创建表格空间的逻辑分组的数据库名称)。在这个例子中,数据库的名称是DBISIP。另一个关键词是将被创建的例外表格空间名称,例如TSISIP(它在数据库DBISIP中)。如果需要多个例外表格空间,根据本发明一个实施例的方法可以创建它们,例如使用相同数据库名称的连续编号的表格空间(例如TSISIP01、TSISIP02等)。关键词还包括在本技术领域中公知的一个存储组标识符(例如例外表格空间将驻留的位置)。在这个例子中STOGROUP被命名为SGISIP。
根据本发明一个实施例的关键词还包括例如将在存储组中被使用的第一数量的DASD和第二数量的DASD(例如将由DB2为例外表格空间分配的DASD页面)。如在现有技术中公知的,第一数量和第二数量的DASD例如可以由用户指定,例如根据将由检查实用程序识别的错误数的估计值。在这个例子中,为存储组分配DASD的52个页面,如果需要的话其它26个页面也是可用的。
如在控制语句中表示的,在这个PDISIP的情况下,关键词还可以标识将被创建的例外表的所有者。根据本发明的一个实施例,这个所有者例如将在响应于控制语句由检查实用程序生成的创建表格SQL语句中使用。例外,关键词包括一个删除语句以表示在创建一个新的例外表之前是否要删除现有的例外表或现有的例外表是否要被重新使用。根据本发明的一个示例性实施例,新创建的例外表被指定一个由用户提供的所有者并具有与被检查的相应从属表相同的名称(例如它具有一个不同的所有者名称)。
根据本发明一个示范性实施例的常规检查实用程序生成和删除例外表的一个示范性处理被用下述伪码来表示并示于图2中。
<pre listing-type="program-listing"><![CDATA[PARSE CONTROL STATEMENT IF KEYWORD=USINGIF KEYWORD=USING   IF DROP=YES   DROP TABLESPACES   ENDIF   CREATE TABLESPACE   CREATE TABLE   ALTER TABLE TWICE   SET FLAG EXCEPTION_TABLE   SETFLAGDROP_IF_EMPTYELSEIFKEYWORD=EXCEPTION IN   SET FLAG EXCEPTION_TABLEENDIFPERFORM CHECK DATA PROCESSIF NO_VIOLATIONS   IF DROP_IF_EMPTY   DROP TABLESPACES   ENDIFENDIF]]></pre>
图2表示根据本发明一个实施例的用于为一个检查实用程序维护例外表的另一个示例性流程图。在步骤2010,由常规检查实用程序接收一个控制语句。例如根据本发明的一个示例性实施例,控制语句将包括预定例外表参数,如上所述,由检查实用程序来分析。在步骤2020,所接收的控制语句被分析并确定将一个删除(DROP)参数设置为例如是或非。如果该值为非,来自一个先前检查操作的现有例外表格空间将被用于当前的检查操作。如果删除值为是,则在步骤2030将删除现有的例外表格空间。
在步骤2030之后,在步骤2040由检查实用程序使用例如从所分析的控制语句获得的表格空间名称建立一个创建表格空间SQL语句(例如建立一个数据结构)。在步骤2050,生成例外表格空间,例如通过执行创建表格空间SQL语句,(例如一部分DASD被分配给例外表格空间)。在步骤2060,确定例外表格空间先前是否存在。例如,DB2表示(例如通过一个SQL代码)一个新的例外表格空间是否被创建(例如,SQL语句的执行是否成功),或者它是否不能被创建,例如因为表格空间已经存在。如果先前存在例外表格空间,该程序前进到步骤2090,如下所述。如果先前例外表格空间并不存在,则该程序前进到步骤2070。在步骤2070,建立和执行一个创建表格SQL语句以创建例外表。在步骤2080,建立和执行任何需要的变更SQL语句,例如将行标识或时间标记添加给例外表。
在步骤2090,确定是否有另外一个从属表格要检查。如果不再有要检查的表格,该程序在步骤2100上结束。如果有要检查的另一个表格,该程序返回步骤2020直到所有被标识的表格已经被检查。与处理例外表的常规检查实用程序相反,常规检查实用程序要求由检查实用程序的用户标识所有的例外表,根据本发明从属表被自动地标识并生成相应的例外表,因而避免在标识所有所需的例外表中潜在的错误或遗漏。
因此,根据本发明的一个实施例,上述处理可以由常规检查实用程序来执行(例如该方法可以被提供为检查实用程序软件中的一个软件算法)以创建和删除例外表。例如,使用本发明的方法,将三个父表和指定关键词包含在控制语句中将导致生成强制约束所需要的三十一个例外表表格空间所需要的SQL语句的自动生成和执行。因而,根据本发明的一个实施例,与约束检查的常规处理所需要的工作相比,一个检查实用程序的用户可以执行更少的工作以生成参照完整性强制约束所需要的例外表。
权利要求
1.一种用于维护例外表的方法,包括步骤生成包括预定例外表参数的控制语句;在一个检查实用程序中接收控制语句;为每个预定例外表参数生成SQL语句;和执行每个SQL语句,其中以执行至少一个SQL语句的功能来执行例外表的生成或删除。
2.一种在数据库系统中维护例外表的方法,包括步骤接收控制语句,该控制语句包括至少一个预定例外表参数;分析该控制语句;作为所分析控制语句的功能,为至少一个例外表参数生成SQL语句;和执行该SQL语句。
3.根据权利要求2的方法,其中至少一个预定例外表参数包括数据库名称、例外表格空间名称、存储组名称、第一数量值、第二数量值、所有者名称和删除值之一。
4.根据权利要求3的方法,其中控制语句包括多个例外表参数。
5.根据权利要求2的方法,其中分析控制语句由一个常规检查实用程序来执行。
6.根据权利要求2的方法,其中所述生成SQL语句的步骤包括生成用于多个例外表参数的SQL语句。
全文摘要
一种用于检查实用程序维护例外表的方法,包括生成一个控制语句,该语句中包括关键词和用于预定例外表参数的相关值。该控制语句由检查实用程序来分析,该检查实用程序自动地建立和执行创建和删除例外表所需要的SQL语句。
文档编号G06F12/00GK1324465SQ99812655
公开日2001年11月28日 申请日期1999年10月27日 优先权日1998年10月27日
发明者小阿曼多B·伊西普 申请人:联合想象计算机公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1