导航

C语言+嵌入式SQL+DB2开发经验总结

Posted on 2016-03-16 10:06  十斗米  阅读(633)  评论(0编辑  收藏  举报

1、使用DB2工具将SQC文件预编译成C文件和bnd文件。

命令: db2 prep ***.sqc version * package using * bindfile BLOCKING ALL INSERT BUF DATETIME ISO queryopt 9 LONGERROR NO

解释:***代表要进行预编译的文件名。 version参数后面跟一个版本号,比如:1,2,3等数字。 此参数非常重要,可以区分多人编译的不同版本。package using 参数后面跟一个指定的名称,该名称就是DB2数据库生成的package的包名称。 如果不指定名称,默认最大为8位字符串, 可能与其他同名的package冲突。 

 

2、使用DB2工具将bnd文件绑定到数据库中,生成package.

命令:db2 bind ***.bnd  

解释:若增加ACTION ADD参数,则强制阻止被同名的package覆盖。存在同名package时,会报SQL0719错误。

 

3、检查是否有未绑定成功失效的packages

命令:select * from syscat.PACKAGES a where a.VALID = 'X';

4、删除无效的packages: drop package 包名称;  注意:有时候包名前是数字, 执行语句时会提示这种包名称不合法,无法删除,此时可以在包名称加双引号即可,即:drop package "包名称"

 

DB2常用SQL:

--1、创建分区表
create table 表名
(
...
)
partition by range(分区字段名)
(
part "part0" starting(minvalue),
part "part1" starting('2018-01-01'),
part "part2" starting('2018-02-01'),
part "part3" ending(maxvalue)
) in 表空间名 index in 索引空间名;

--2、添加表分区
alter table 表名 add partition 分区名 starting('2018-01-01') ending(maxvalue);

--3、查看表分区
select datapartitionname, lowvalue, highvalue from syscat.datapartitions where tabname='大写表名';