WEB开发网
开发学院数据库DB2 使用IBM DB2例程简化迁移的步骤 阅读

使用IBM DB2例程简化迁移的步骤

 2008-09-03 16:27:48 来源:WEB开发网   
核心提示: 清单1. 过程truncate_TABLE的签名>>--truncate_TABLE--(--schema_name--,--table_name--)>< VARchar(130)类型的参数schema_name指定模式,用以在其中找到表,使用IBM DB2例程简

清单1. 过程truncate_TABLE的签名     >>--truncate_TABLE--(--schema_name--,--table_name--)--------><

VARchar(130)类型的参数schema_name指定模式,用以在其中找到表。如果模式名外加了双引号,就将其看成定界名称(混合大小写的和特殊的字符)。如果模式名为 空 ,即未指定模式,那么则要查阅CURRENT SCHEMA专用寄存器来确定所要使用的模式。VARchar(130)类型的参数table_name指定将被清除的表的未限定名称。加上显式或隐式定义的模式名就可惟一地识别出表。如果表名外加了双引号,就将其看成定界名称(混合大小写的和特殊的字符)。

如果输入参数schema_name为空,则由该过程的逻辑来确定默认模式。否则,就删除现有模式名上的双引号,或者将未加引号的模式名转换为大写体。对于表名同样如此,比如最后表名上的双引号会被删除,或者未加引号的表名会被转换为大写体。接着,我们通过查询DB2目录视图SYSCAT.TABLES来证实该表是否存在。现在就可以启动导入了。先准备好必要的参数,其中使用的文件是/dev/null(Windows上的NUL文件),因为它总是存在并且不包含任何内容,也就是可用作数据源的空文件。同样,/dev/null(Windows上的NUL文件)将用于进行导入所需的消息文件。如果成功地启动了导入,该过程就会成功返回。如果碰到错误,则与消息文本一起返回SQLSTATE以指示错误。清单2演示了过程truncate_TABLE的执行。可以在“下载”小节中找到该脚本(truncate_example.db2)的源代码。

/*createandinsertsomevaluesintothetabletab1*/
      createTABLEtab1(col1INTEGERNOTNULLPRIMARYKEY,col2VARchar(15))
      DB20000ITheSQLcommandcompletedsuccessfully.
      insertINTOtab1VALUES(1,’somedata’),(2,NULL)
      DB20000ITheSQLcommandcompletedsuccessfully.
      /*verifythecurrentcontentsoftabletab1*/
      select*FROMtab1
      COL1COL2
      --------------------------
      somedata
      -
      record(s)selected.
      /*CallthetruncatestoredprocedurefortheDB2INST1schema,andthetabletab1*/
      CALLtruncate(’DB2INST1’,’tab1’)
      ReturnStatus=0
      /*Verifythatthetablecontentshavebeentruncated.*/
      select*FROMtab1
      COL1COL2
      --------------------------
      record(s)selected.
      /*insertsomenewvaluesintothetab1table*/
      insertINTOtab1VALUES(2,’somenewdata’),(3,NULL)
      DB20000ITheSQLcommandcompletedsuccessfully.
      select*FROMtab1
      COL1COL2
      --------------------------
      somenewdata
      -
      record(s)selected.
      /*CallthetruncateprocedurewithaNULLschema*/
      CALLtruncate(NULL,’tab1’)
      ReturnStatus=0
      /*Verifythatthetablecontentshavebeentruncated.*/
      select*FROMtab1
      COL1COL2
      --------------------------
      record(s)selected.
      Sybase的host_name函数

上一页  1 2 3 4 5 6  下一页

Tags:使用 IBM DB

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接