db2命令记录(一)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一.请问高手,如何查看tablespace里包含哪些表?
select tabschema,tabname from syscat.tables where tbspace='TABLESPACEA' and type='T' 这里的TABLESPACEA具体情况定,如用USERSPACE1(158.222.2.110)
第二.
DB2 CLP
从DOS进入db2cmd
db2cmd
在本地DB2数据库添加一个远程结点
db2 catalog tcpip node xdzx1 remote 155.222.2.110 server 60064
db2 catalog database xdzx1 at node xdzx1
查看版本信息
db2licm -l
启动,停止db2数据库
db2admin start db2admin stop
db2start db2stop
执行存储过程
db2 " call p01_acct_depacct_y('2007-4-15',?,?)"
创建t01_acct_depacct_y表,in dms_data 代表数据存在dms_data命名空间 index in dms_idx代表索引创建在dms_idx里面
create table t01_acct_depacct_y
(
record_date DATE not null,
etl_date DATE,
dep_acct_no CHAR(15) not null,
curr_cd CHAR(3) not null,
curr_iden CHAR(1) not null,
bank_no CHAR(6) not null,
summary_bank_no CHAR(6),
xyz_no CHAR(2),
dep_categ CHAR(1),
acct_name VARCHAR(160),
acct_short_name VARCHAR(60),
busi_typ CHAR(3),
assu_busi_typ CHAR(2),
dep_term INT,
open_date DATE,
close_date DATE,
cust_open_date DATE,
dep_bal_tsum DEC(24,2),
dep_bal_msum DEC(24,2),
dep_bal_qsum DEC(24,2),
dep_bal_qend_ysum DEC(24,2),
year_dep_amt DEC(17,2),
year_dep_cnt INT,
year_oth_amt DEC(17,2),
year_oth_cnt INT,
year_d_sum DEC(17,2),
year_c_sum DEC(17,2),
year_d_cnt INT,
year_c_cnt INT,
constraint P_pk01_acct_saacct primary key (record_date, dep_acct_no, curr_cd, curr_iden)
)
in dms_data
index in dms_idx
获取数据库中现有存储过程
select substr(procschema,1,15),substr(procname,1,15) from syscat.procedures; select * from syscat.procedures where procschema='XXGL'
获取当前时间
select current time from (values 1) as test;
select current date from (values 2) as test;
select (current_date)- 2 year,(current_date)+ 1 day,current_timestamp + 1 hour from (values 1) test
在列中查询以删除重复的记录
我们有一个表,字段A有重复的记录,我们想要编写一个SQL 查询来让字段A作为主键。在这样的情况下,我们需要一个删除查询来删除重复的记录,这样字段A才能具有惟一的数值。
要删除重复的数据行,可以使用如下的语句:
DELETE FROM my_table
WHERE rowid NOT IN ( SELECT MAX(ROWID) FROM my_table
GROUP BY colA,colB,colC );
在GROUP BY子句中,列出你的表中所有的字段,或者你认为应该成为主键字段的字段。子查询可以得到这些分组的最大行id。DELETE可以删除所有这些行id的数值。
将表中数据导出到文件(.del,.xls,.txt)
方法一:
export to 方法二:shell里面操作 select * from 将文件中数据导入到表中: db2 "import from *.txt of del insert into 表" 建表的时候可以设置列为自动增长的 CREATE TABLE T1 ( ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 0, INCREMENT BY 1, NO CACHE ), PRIMARY KEY ( ID) ) ; 在DB2/400中如何检索一个表名中含有'.'号的表 例如: 如果直接strsql-> SELECT * FROM ABIS/ABC.ABC 系统将会报错:“Token . was not valid.“ 解决的方法是用双引号将'.'括起来 SELECT * FROM ABIS/"ABC.ABC" 即可。 如果库名也是这种情况,一样处理即可 SELECT * FROM ABIS/ABC.ABC 在AS400中不应该这样写的。如果ABC是一个数据库那么你应该这样写 SELECT * FROM ABIS/ABC >