DB2学习笔记

--从ixf文件中得到表结构并导入系统中
import FROM 'D:\***.ixf' OF ixf
create into temp_table@

--中文乱码解决
LOAD CLIENT FROM 'D:\tablename.ixf' OF IXF modified by codepage=1386
INSERT INTO tablename@

--系统自增字段
LOAD CLIENT FROM 'D:\tablename.ixf' OF IXF
  MODIFIED BY  IDENTITYOVERRIDE  INSERT INTO tablename@
执行完后需要重新绑定自增字段
alter table INFO_CHANNEL_COLUMN alter COLUMNID restart with 250@
--

--插入或者替代
insert or replace

--表空间state ox0020 异常检查
表空间status为 BACKUP PENDING状态.
重新备份一下数据库就可以解决

--db2导入表之后需要做的检查
1.如果表中有自增字段,则需要对自增字段进行重新绑定
alter table tablename alter ID restart with ***
2.如果表中涉及到Sequence的,需要对Sequence进行重新绑定
ALTER Sequence  sequencename RESTART WITH ***

--在linux目录下/home/db2inst1/sqllib/db2dump目录下
1.db2inst1.nfy  发生重大事件时,DB2将信息写入其中
2.db2diag.log是诊断日志。
3.db2eventlog.000是事件日志。是数据库管理器发生的基础结构级事件的循环日志
4.apphdl:0-84,进程正在为其工作的应用程序表示。function,message,data错误类型和编号的消息

关键字OLD TABLE 指定中间结果表应该包含数据修改操作之前的值。
关键字NEW TABLE 指定中间结果表应该包含数据修改操作之后(在发生引用完整性计算和触发操作后触发器之前)的值。
关键字FINAL TABLE 指定中间结果表应该包含数据修改操作、引用完整性计算和触发操作后触发器之后的值。

清空大表中的数据:
alter  table I_CARGPSINFO activate not logged initially with empty table

merge 语句
MERGE into table1
    USING (select * from table(values(V_PROJECTCODE)) as a(projectcode)) items
    ON base.ProjectCode = V_PROJECTCODE and base.IsActive = '1'
    WHEN MATCHED THEN
    update set (base.IsActive) = ('0')
        when not matched then
                insert into () values ();
   

你可能感兴趣的:(数据结构,工作,linux,db2)