您的位置:首页 > 其它

db2常用语句

2017-11-18 13:01 477 查看
导出ddl
db2look-dCESHI1-e-odb.sql-idb2inst1-wCoqais011
db2look-dGFL-e-oE:\db.sql-idb2admin-w123
系统存储过程
QueryInfoinfo=newQueryInfo();
info.NamedQuery="SYSPROC.ADMIN_CMD";
info.Parameters.Add("PR_SQL","reorgtable"+tableName);
Dao.ExecuteNonQuery(info);

备份
db2BACKUPDATABASEdbname
恢复
db2RESTOREDATABASEdbname
a.服务端安装
b.客户端安装
1.建数据库
createdatabaseHRA_GF
2.建信道
catalogtcpipnodegfremote192.168.2.252server50000
3.1别名
catalogdatabaseHRA_GFashServeratnodegf
3.2数据库挂在信道上
catalogdatabaseHRA_GFatnodegf
3.3terminate刷新
3.4db2
4.连接数据库
connecttoHRA_GFuserdb2adminusingHhgf2017
5.删除节点
uncatalognodegf

6.获取序列下一个值
selectnextvalforBAS_MODULE_SEQfromsysibm.sysdummy1
7.创建函数结合序列值获取

7.1CREATEfunctionBAS_SEQ()
RETURNSBIGINT
LANGUAGESQL
CONTAINSSQL
NOEXTERNALACTION
DETERMINISTIC
BEGINATOMIC
DeclarecdBIGINT;--时间
setcd=nextvalueforBAS_MODULE_SEQ;
RETURNcd;
END;
7.2
CREATEFUNCTIONGET_DISCOUNT_FACTOR
(
v_compute_datedate,
v_reference_datedate,
v_index_price_factor_idbigint
)
RETURNSBIGINT
LANGUAGESQL
NOTDETERMINISTIC
READSSQLDATA
STATICDISPATCH
CALLEDONNULLINPUT
EXTERNALACTION
INHERITSPECIALREGISTERS
BEGINATOMIC
DeclareRESULTbigint;
setRESULT=(selectcount(1)
frommkt_zero_rate_data
wherecompute_date=v_compute_date
andreference_date=v_reference_date
andindex_price_factor_id=v_index_price_factor_id);

IFRESULT=0
then
RETURN0;
ELSE

SETRESULT=(
selectdiscount_factorfrommkt_zero_rate_data
wherecompute_date=v_compute_date
andreference_date=v_reference_date
andindex_price_factor_id=v_index_price_factor_id);

ENDIF;
returnResult;
END;

CREATEFUNCTIONFN_GETFLOWURL(p_createUrlvarchar(255),p_nodeUrlvarchar(255),p_FormCodevarchar(255),p_FormTypevarchar(255))
RETURNSvarchar(255)
LANGUAGESQL
NOTDETERMINISTIC
READSSQLDATA
STATICDISPATCH
CALLEDONNULLINPUT
EXTERNALACTION
INHERITSPECIALREGISTERS
BEGINATOMIC
declarev_posbigint;
declarev_tmpbigint;
declarev_urlvarchar(255);
setv_tmp=(selectINSTR(p_nodeUrl,'.aspx')fromSYSIBM.SYSDUMMY1);
ifv_tmp>0then
setv_url=p_nodeUrl;
else--CreateUrl+??Url=??Url---??CreateUrl??Node??????(?,&)
setv_pos=(selectINSTR(p_createUrl,'Node=')fromSYSIBM.SYSDUMMY1);
ifv_pos>0then
setv_url=SUBSTR(p_createUrl,1,v_pos-2);
else
setv_url=p_createUrl;
endif;
---CreateUrl+??Url??????(?,&)
setv_pos=(selectINSTR(v_url,'?')fromSYSIBM.SYSDUMMY1);
ifv_pos>0then
setv_url=v_url||'&'||p_nodeUrl;
else
setv_url=v_url||'?'||p_nodeUrl;
endif;
endif;

setv_url=v_url||'&'||'FormCode='||p_FormCode||'&'||'FormType='||p_FormType;
returnv_url;
end;
8.存储过程
CREATEPROCEDUREPR_INSERT(INpr_sqlVARCHAR(550))
LANGUAGESQL
SPECIFICset_variables
begin
executeimmediatepr_sql;
end;

9.参数化查询
varinfo=newQueryInfo();
info.CustomSQL="select*fromsys_userwhereuser_id=?";
info.Parameters.Add("user_id",1002);
vardt=Dao.ExcuteDataSet(info).Tables[0];
10.load
loadfromc:\AA20170828154805.delofdelinsertintoaa

cmd=cn.CreateCommand();
cmd.CommandType=CommandType.StoredProcedure;
cmd.CommandText=@"loadfromc:\AA20170828154805.delofdelinsertintoaa";
intii=cmd.ExecuteNonQuery();

11.非空约束
altertabletableNamealtercolumnNamesetnotnull;
12.添加主键
altertabletableNameaddconstraintprimarykey(主键id)
13.truncatetable命令
truncatetabletableNameimmediate;
14.reorgtabletableName

15.db2数据库没有足够大的临时表空间,新建一个足够大的表空间,解决问题
createBUFFERPOOLGFPOOLSIZE500PAGESIZE32K;
CREATETEMPORARYTABLESPACETEMPPAGESIZE32KMANAGEDBYDATABASEUSING
(
FILE'STEALTH2/TEMP02'128000
)EXTENTSIZE80bufferpoolGFPOOL;

16.db2分页语法

select*from
(selectt.*,rownumber()over(orderbyidasc)asrowidfromsys_officet)a
wherea.rowid>=1anda.rowid<=3;

17.不记录日志清空表
altertableTRAN_STRUCTUREactivatenotloggedinitiallywithemptytable;

18.查看表id和表空间
select*fromsyscat.tableswheretableid=3852

19.日志设置
updatedbcfgforceshi1usingLOGFILSIZ125000
20查看表空间的使用情况
a.创建表空间
CREATETEMPORARYTABLESPACETEMPPAGESIZE32KMANAGEDBYDATABASEUSING
(
FILE'STEALTH2/TEMP02'128000
)EXTENTSIZE80bufferpoolGFPOOL;
b.listtablespacecontainersfor1showdetail
c.扩展表空间alterTABLESPACETEMPadd(file'/home/db2inst1/db2inst1/NODE0000/CESHI1/004'500m)

20.不记录事务日志
altertable
TRAN_TRANSACTION
--,RSK_BOOK_TRAN_SIMULATION,RSK_LEASE_TRAN_ADJUST,RSK_LEASE_TRANSACTOIN,RSK_TRANSACTION_LOG
activatenotloggedinitially;

21.修改数据类型

altertableETL_VERIFY_CHECKaltercolumnIS_NOT_NULLsetdatatypeint;
reorgtableETL_VERIFY_CHECK;

建库
--重启数据库
FORCEAPPLICATIONALL
DB2STOP
DB2START

--创建数据库
CREATEDATABASEGFLUSINGCODESETUTF-8TERRITORYUSCOLLATEUSINGSYSTEMUSERTABLESPACEMANAGEDBYDATABASEUSING(FILE'd:\DB2\data\GFL\sdetbsp'51200)

CONNECTTOGFL

--创建缓冲池(使用32k的pagesize)
createbufferpoolGFPOOLsize12800pagesize32K
createbufferpoolGFPOOL1size12800pagesize32K

--创建表空间并使用32k的pagesize和自定义的缓冲池
CREATEREGULARTABLESPACEregtbsPAGESIZE32KMANAGEDBYDATABASEUSING(FILE'D:\DB2\NODE0000\GFL\regtbs'2g)bufferpoolGFPOOL
CREATEREGULARTABLESPACEidxtbsPAGESIZE32KMANAGEDBYDATABASEUSING(FILE'D:\DB2\NODE0000\GFL\idxtbs'1g)bufferpoolGFPOOL
CREATELONGTABLESPACElobtbsPAGESIZE32KMANAGEDBYDATABASEUSING(FILE'D:\DB2\NODE0000\GFL\lobtbs'1g)bufferpoolGFPOOL1
CREATEUSERTEMPORARYTABLESPACEsdespacePAGESIZE32KMANAGEDBYSYSTEMUSING('D:\DB2\NODE0000\GFL\sdespace')bufferpoolGFPOOL1

表空间自增长
altertablespacelobtbsautoresizeyesincreasesize10240Kmaxsizenone;

--授权表空间给用户
grantuseoftablespace

--授权表空间
GRANTUSEOFTABLESPACEregtbsTOPUBLIC
GRANTUSEOFTABLESPACElobtbsTOPUBLIC
GRANTUSEOFTABLESPACEidxtbsTOPUBLIC
GRANTUSEOFTABLESPACEsdespaceTOPUBLIC

COMMENTONTABLESPACEsdespaceIS''

--优化数据库配置
updatedbcfgforGFLusingAPPLHEAPSZ2048
updatedbcfgforGFLusingAPP_CTL_HEAP_SZ2048
updatedbcfgforGFLusingLOGPRIMARY10
updatedbcfgforGFLusingLOGFILSIZ1000

--重启数据库
FORCEAPPLICATIONALL
DB2STOPFORCE
DB2START

--授予sde用户DBADM权限
grantDBADMondatabasetouserdb2admin

--重启数据库
FORCEAPPLICATIONALL
DB2STOPFORCE
DB2START

3.去重

longcount=0;
//删除的时候,保留最老的记录
vardelsql1=$@"deletefrom
(
select{repetColumns},row_number()over
(PARTITIONby
{repetColumns}order
by
{repetColumns}
)asrnfrom{importTable}where1=1{where}
)t1wheret1.rn>1";
//删除的时候,保留最新的记录


vardelsql2=$@"DELETEfrom
(
select{repetColumns},row_number()over
(PARTITIONby{repetColumns}
orderby{repetColumns}asc
)asrnfrom{importTable}

)t1wherern<
(

selectmax(rn)from
(
select{repetColumns},row_number()over
(PARTITIONby{repetColumns}
orderby{repetColumns}asc
)asrnfrom{importTable})t1
)
";
stringsql=style==DeleteStyle.KeepNew?delsql2:delsql1;
count=Dao.ExecuteNonQuery(newFramework.QueryInfo(){CustomSQL=sql});
returncount;


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: