做按组织关系汇总功能时,当数据量特别大,或者汇总组织特别多时,运行效率特别低,于是使用了merge into语句。

代码如下:

public void updateInsertData(DataSet dsl, String mxnm, DataSet dsc, DataSet dsr, String faslnm, DataSet dyxjDs, String thisBbnm, String tabname, DataSet glDs,String flnm,String dyzzNm,int hzbbStat){
//using后的sql
String queryDataSql = queryData(dsl, mxnm, dsc, dsr, faslnm, dyxjDs, thisBbnm, tabname, glDs); StringBuffer updateInsertSql = new StringBuffer();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
String createdTime = formatter.format(new Date());
String lastmodifiedTime = formatter.format(new Date());
String creator = GetBspInfo.getBspInfo().getUserId();
updateInsertSql.append("MERGE INTO FCDATA_"+mxnm +" DA ");
updateInsertSql.append("USING ("+queryDataSql + ") QU ");
updateInsertSql.append("ON ("); for (int y = 0; y < dsl.getCount(); y++) {
String wdmc = (String) dsl.getRecord(y).get("FCYSYS_BS");
if(!("ZZ".equals(wdmc))) {
updateInsertSql.append("DA.FC_" + wdmc + "_NM = QU.FC_" + wdmc + "_NM AND ");
}
} updateInsertSql.append(" DA.FC_ZZ_NM='" +dyzzNm+"' )");
updateInsertSql.append("WHEN MATCHED THEN ");
updateInsertSql.append("UPDATE SET DA.FC_QJS = ROUND(QU.FC_QJS,QU.FCBZL_DECN),");
updateInsertSql.append("DA.FC_LJS = ROUND(QU.FC_LJS,QU.FCBZL_DECN),DA.FC_NDS = ROUND(QU.FC_NDS,QU.FCBZL_DECN),");
updateInsertSql.append("DA.FC_LJS_C = ROUND(QU.FC_LJS_C,QU.FCBZL_DECN),DA.FC_NDS_C = ROUND(QU.FC_NDS_C,QU.FCBZL_DECN),");
updateInsertSql.append("DA.FC_QJS_C = ROUND(QU.FC_QJS_C,QU.FCBZL_DECN),DA.FC_NDS_1 = ROUND(QU.FC_NDS_1,QU.FCBZL_DECN),");
updateInsertSql.append("DA.FC_LJS_1 = ROUND(QU.FC_LJS_1,QU.FCBZL_DECN),DA.FC_QJS_1 = ROUND(QU.FC_QJS_1,QU.FCBZL_DECN),");
updateInsertSql.append("FC_SJLY='2',FC_HZLBNM='" + flnm + "',LASTMODIFIER='" + creator + "',LASTMODIFIEDTIME=");
updateInsertSql.append("(select to_date('").append(lastmodifiedTime).append("','YYYY-MM-DD HH24:MI:SS')from dual) ");
updateInsertSql.append("WHEN NOT MATCHED THEN INSERT(");
updateInsertSql.append("FC_ZZ_NM,FC_MXNM,FC_DANM,FC_BBDY,FC_LCST,");
for (int w = 0; w < dsl.getCount(); w++) {
String wdmc = (String) dsl.getRecord(w).get("FCYSYS_BS");
if (!("ZZ".equals(wdmc))) {
updateInsertSql.append("FC_" + wdmc + "_NM,");
}
}
updateInsertSql.append("FC_QJS,FC_NDS,FC_LJS,FC_QJS_C,FC_NDS_C,FC_LJS_C,FC_QJS_1,FC_NDS_1,FC_LJS_1,");
updateInsertSql.append("FC_SJLY,FC_HZLBNM,CREATOR,LASTMODIFIER,CREATEDTIME,LASTMODIFIEDTIME) ");
updateInsertSql.append(" VALUES( '" + dyzzNm + "','" + mxnm + "',substr(sys_guid(),0,4)||sys_guid(),'" + thisBbnm + "','");
updateInsertSql.append(hzbbStat + "',");
for (int w = 0; w < dsl.getCount(); w++) {
String wdmc = (String) dsl.getRecord(w).get("FCYSYS_BS");
if (!("ZZ".equals(wdmc))) {
updateInsertSql.append("QU.FC_" + wdmc + "_NM,");
}
} updateInsertSql.append("ROUND(QU.FC_QJS,QU.FCBZL_DECN),ROUND(QU.FC_NDS,QU.FCBZL_DECN),ROUND(QU.FC_LJS,QU.FCBZL_DECN),");
updateInsertSql.append("ROUND(QU.FC_QJS_C,QU.FCBZL_DECN),ROUND(QU.FC_NDS_C,QU.FCBZL_DECN),ROUND(QU.FC_LJS_C,QU.FCBZL_DECN),");
updateInsertSql.append("ROUND(QU.FC_QJS_1,QU.FCBZL_DECN),ROUND(QU.FC_NDS_1,QU.FCBZL_DECN),ROUND(QU.FC_LJS_1,QU.FCBZL_DECN),'");
updateInsertSql.append("2','" + flnm + "','");
updateInsertSql.append(creator + "','" + creator + "',");
updateInsertSql.append("(select to_date('").append(createdTime).append("','YYYY-MM-DD HH24:MI:SS')from dual),");
updateInsertSql.append("(select to_date('").append(lastmodifiedTime).append("','YYYY-MM-DD HH24:MI:SS')from dual) )"); this.executeUpdate(updateInsertSql.toString());
/********************merge into结束!!!!*************************/
}
public String queryData(DataSet dsl, String mxnm, DataSet dsc, DataSet dsr, String faslnm, DataSet dyxjDs, String thisBbnm, String tabname, DataSet glDs) {
boolean ifzb = false;//数据列中是否存在指标这个维度
for (int s = 0; s < dsc.getCount(); s++) {
String sjmc = (String) dsc.getRecord(s).get("FCYSYS_BS");
if (!("ZB".equals(sjmc))) {
ifzb = false;
} else {
ifzb = true;
break;
}
} //查询出下级组织报表的所有单元格数据,便于下面判断该数据是否在上级组织中有记录
StringBuffer sqlh = new StringBuffer(200);
sqlh.append(" SELECT FCBZL_DECN,");
for (int w = 0; w < dsl.getCount(); w++) {
String wdmc = (String) dsl.getRecord(w).get("FCYSYS_BS");
if (!("ZZ".equals(wdmc))) {
sqlh.append("FC_" + wdmc + "_NM,");
}
}
if (ifzb) {
sqlh.append(" CASE WHEN YSYSXM_XMXZ='2' OR YSYSXM_XMXZ='3' THEN MAX(FC_QJS)");
sqlh.append(" ELSE SUM(NVL(FC_QJS, 0) * FCFLYS_BL) END AS FC_QJS, ");
sqlh.append(" CASE WHEN YSYSXM_XMXZ='2' OR YSYSXM_XMXZ='3' THEN MAX(FC_NDS)");
sqlh.append(" ELSE SUM(NVL(FC_NDS, 0) * FCFLYS_BL) END AS FC_NDS, ");
sqlh.append(" CASE WHEN YSYSXM_XMXZ='2' OR YSYSXM_XMXZ='3' THEN MAX(FC_LJS)");
sqlh.append(" ELSE SUM(NVL(FC_LJS, 0) * FCFLYS_BL) END AS FC_LJS, ");
sqlh.append(" CASE WHEN YSYSXM_XMXZ='2' OR YSYSXM_XMXZ='3' THEN MAX(FC_QJS_C)");
sqlh.append(" ELSE SUM(NVL(FC_QJS_C, 0) * FCFLYS_BL) END AS FC_QJS_C, ");
sqlh.append(" CASE WHEN YSYSXM_XMXZ='2' OR YSYSXM_XMXZ='3' THEN MAX(FC_NDS_C)");
sqlh.append(" ELSE SUM(NVL(FC_NDS_C, 0) * FCFLYS_BL) END AS FC_NDS_C, ");
sqlh.append(" CASE WHEN YSYSXM_XMXZ='2' OR YSYSXM_XMXZ='3' THEN MAX(FC_LJS_C)");
sqlh.append(" ELSE SUM(NVL(FC_LJS_C, 0) * FCFLYS_BL) END AS FC_LJS_C, ");
sqlh.append(" CASE WHEN YSYSXM_XMXZ='2' OR YSYSXM_XMXZ='3' THEN MAX(FC_QJS_1)");
sqlh.append(" ELSE SUM(NVL(FC_QJS_1, 0) * FCFLYS_BL) END AS FC_QJS_1, ");
sqlh.append(" CASE WHEN YSYSXM_XMXZ='2' OR YSYSXM_XMXZ='3' THEN MAX(FC_NDS_1)");
sqlh.append(" ELSE SUM(NVL(FC_NDS_1, 0) * FCFLYS_BL) END AS FC_NDS_1, ");
sqlh.append(" CASE WHEN YSYSXM_XMXZ='2' OR YSYSXM_XMXZ='3' THEN MAX(FC_LJS_1)");
sqlh.append(" ELSE SUM(NVL(FC_LJS_1, 0) * FCFLYS_BL) END AS FC_LJS_1");
} else {
sqlh.append("SUM(NVL(FC_QJS,0)*FCFLYS_BL) AS FC_QJS,SUM(NVL(FC_NDS,0)*FCFLYS_BL) AS FC_NDS,SUM(NVL(FC_LJS,0)*FCFLYS_BL) AS FC_LJS,");
sqlh.append("SUM(NVL(FC_QJS_1,0)*FCFLYS_BL) AS FC_QJS_1,SUM(NVL(FC_NDS_1,0)*FCFLYS_BL) AS FC_NDS_1,");
sqlh.append("SUM(NVL(FC_LJS_1,0)*FCFLYS_BL) AS FC_LJS_1,SUM(NVL(FC_QJS_C,0)*FCFLYS_BL) AS FC_QJS_C,SUM(NVL(FC_NDS_C,0)*FCFLYS_BL) AS FC_NDS_C,SUM(NVL(FC_LJS_C,0)*FCFLYS_BL) AS FC_LJS_C");
} sqlh.append(" FROM FCDATA_" + mxnm); /*本来是join fcbzh,但是后来调整为只汇总固定行,而fcirow里存的都是固定行,所以改为join fcirow*/
sqlh.append(" JOIN FCBZH_" + mxnm + " ON ");
//sqlh.append(" JOIN FCIROW ON "); for (int x = 0; x < dsr.getCount(); x++) {
String xxmc = (String) dsr.getRecord(x).get("FCYSYS_BS");
if (!("ZZ".equals(xxmc))) { sqlh.append(" FC_" + xxmc + "_NM = FCBZH_" + xxmc + "NM AND ");
//sqlh.append(" FC_" + xxmc + "_NM = FCIROW_" + xxmc + " AND "); }
}
sqlh.append(" FC_ZZ_NM = FCBZH_ZZNM AND ");
sqlh.append(" 1=1 JOIN FCBZL_" + mxnm + " ON ");
for (int s = 0; s < dsc.getCount(); s++) {
String sjmc = (String) dsc.getRecord(s).get("FCYSYS_BS");
if (!("ZB".equals(sjmc))) {
sqlh.append(" FC_" + sjmc + "_NM = FCBZL_" + sjmc + " AND ");
} else {
sqlh.append(" FC_" + sjmc + "_NM = FCBZL_" + sjmc + " AND ");
}
}
sqlh.append(" 1=1 ");
//指标这个维度数据结构不同,单独处理
if (ifzb) {
sqlh.append(" JOIN YSYSXM ON YSYSXM_XMUID = FC_ZB_NM ");
}
sqlh.append(" JOIN " + tabname + " ON FCFLYS_SJNM = FC_ZZ_NM ");
/*sqlh.append(" JOIN FCBBRW ON FCBBRW_ZZ=FC_ZZ_NM WHERE FC_BBDY = '" + thisBbnm + "' ");*/
//两张表同一个模型内码,但有一个归口表
sqlh.append(" JOIN FCBBRW ON FCBBRW_ZZ=FC_ZZ_NM AND FCBBRW_BBNM=FC_BBDY WHERE 1=1");
/*sqlh.append(" JOIN FCBBRW ON FCBBRW_ZZ=FC_ZZ_NM WHERE 1=1");*/
sqlh.append(" AND FCBZL_IFBL='0' AND FCBZH_SLNM='" + faslnm + "' AND FCBZL_SLNM='" + faslnm + "' AND FCBZL_DYNM='" + thisBbnm + "' AND FCBZH_DYNM='" + thisBbnm + "'");
sqlh.append(" AND FCBBRW_SLNM='" + faslnm + "' AND FCBBRW_BBNM ='" + thisBbnm + "' ");
if (glDs.getCount() > 2) {
sqlh.append(" AND FCBBRW_IFGL='1' ");
}
sqlh.append(" AND FC_ZZ_NM IN (");
//下级组织范围条件
for (int zz = 0; zz < dyxjDs.getCount(); zz++) {
String xjzznm = (String) dyxjDs.getRecord(zz).get("ZZNM");
if (zz == dyxjDs.getCount() - 1) {
sqlh.append("'" + xjzznm + "')");
} else {
sqlh.append("'" + xjzznm + "',");
}
}
sqlh.append(" AND FCBZH_ZZNM IN (");
//下级组织范围条件
for (int zz = 0; zz < dyxjDs.getCount(); zz++) {
String xjzznm = (String) dyxjDs.getRecord(zz).get("ZZNM");
if (zz == dyxjDs.getCount() - 1) {
sqlh.append("'" + xjzznm + "')");
} else {
sqlh.append("'" + xjzznm + "',");
}
}
sqlh.append(" GROUP BY ");
if (ifzb) {
sqlh.append(" YSYSXM_XMXZ,");
}
for (int y = 0; y < dsl.getCount(); y++) {
String wdmc = (String) dsl.getRecord(y).get("FCYSYS_BS");
if (!("ZZ".equals(wdmc))) {
sqlh.append("FC_" + wdmc + "_NM,");
}
}
sqlh.append("FCBZL_DECN");
return sqlh.toString();
}

运行处的sql语句如下:

MERGE INTO FCDATA_XS04 DA
USING (SELECT FCBZL_DECN,
FC_QYXM_NM,
FC_MB_NM,
FC_ZB_NM,
FC_LX_NM,
FC_QJ_NM,
CASE
WHEN YSYSXM_XMXZ = '' OR YSYSXM_XMXZ = '' THEN
MAX(FC_QJS)
ELSE
SUM(NVL(FC_QJS, 0) * FCFLYS_BL)
END AS FC_QJS,
CASE
WHEN YSYSXM_XMXZ = '' OR YSYSXM_XMXZ = '' THEN
MAX(FC_NDS)
ELSE
SUM(NVL(FC_NDS, 0) * FCFLYS_BL)
END AS FC_NDS,
CASE
WHEN YSYSXM_XMXZ = '' OR YSYSXM_XMXZ = '' THEN
MAX(FC_LJS)
ELSE
SUM(NVL(FC_LJS, 0) * FCFLYS_BL)
END AS FC_LJS,
CASE
WHEN YSYSXM_XMXZ = '' OR YSYSXM_XMXZ = '' THEN
MAX(FC_QJS_C)
ELSE
SUM(NVL(FC_QJS_C, 0) * FCFLYS_BL)
END AS FC_QJS_C,
CASE
WHEN YSYSXM_XMXZ = '' OR YSYSXM_XMXZ = '' THEN
MAX(FC_NDS_C)
ELSE
SUM(NVL(FC_NDS_C, 0) * FCFLYS_BL)
END AS FC_NDS_C,
CASE
WHEN YSYSXM_XMXZ = '' OR YSYSXM_XMXZ = '' THEN
MAX(FC_LJS_C)
ELSE
SUM(NVL(FC_LJS_C, 0) * FCFLYS_BL)
END AS FC_LJS_C,
CASE
WHEN YSYSXM_XMXZ = '' OR YSYSXM_XMXZ = '' THEN
MAX(FC_QJS_1)
ELSE
SUM(NVL(FC_QJS_1, 0) * FCFLYS_BL)
END AS FC_QJS_1,
CASE
WHEN YSYSXM_XMXZ = '' OR YSYSXM_XMXZ = '' THEN
MAX(FC_NDS_1)
ELSE
SUM(NVL(FC_NDS_1, 0) * FCFLYS_BL)
END AS FC_NDS_1,
CASE
WHEN YSYSXM_XMXZ = '' OR YSYSXM_XMXZ = '' THEN
MAX(FC_LJS_1)
ELSE
SUM(NVL(FC_LJS_1, 0) * FCFLYS_BL)
END AS FC_LJS_1
FROM FCDATA_XS04
JOIN FCBZH_XS04 ON FC_QYXM_NM = FCBZH_QYXMNM
AND FC_ZZ_NM = FCBZH_ZZNM
AND 1 = 1
JOIN FCBZL_XS04 ON FC_MB_NM = FCBZL_MB
AND FC_QJ_NM = FCBZL_QJ
AND FC_ZB_NM = FCBZL_ZB
AND FC_LX_NM = FCBZL_LX
AND 1 = 1
JOIN YSYSXM ON YSYSXM_XMUID = FC_ZB_NM
JOIN FCFLYS_ZZHZ ON FCFLYS_SJNM = FC_ZZ_NM
JOIN FCBBRW ON FCBBRW_ZZ = FC_ZZ_NM
AND FCBBRW_BBNM = FC_BBDY
WHERE 1 = 1
AND FCBZL_IFBL = ''
AND FCBZH_SLNM = 'f4f10134-ca32-4329-88fa-1e2e5ab5c47e'
AND FCBZL_SLNM = 'f4f10134-ca32-4329-88fa-1e2e5ab5c47e'
AND FCBZL_DYNM = '262ff333-8e40-47ec-8753-b18a4fac9331'
AND FCBZH_DYNM = '262ff333-8e40-47ec-8753-b18a4fac9331'
AND FCBBRW_SLNM = 'f4f10134-ca32-4329-88fa-1e2e5ab5c47e'
AND FCBBRW_BBNM = '262ff333-8e40-47ec-8753-b18a4fac9331'
AND FC_ZZ_NM IN ('a0f8f16c-fa4e-4bf5-bb74-d9b5f9ac8640',
'1c42551c-3749-48ec-b2a5-7cdac85f3915')
AND FCBZH_ZZNM IN ('a0f8f16c-fa4e-4bf5-bb74-d9b5f9ac8640',
'1c42551c-3749-48ec-b2a5-7cdac85f3915')
GROUP BY YSYSXM_XMXZ,
FC_QYXM_NM,
FC_MB_NM,
FC_ZB_NM,
FC_LX_NM,
FC_QJ_NM,
FCBZL_DECN) QU
ON (DA.FC_QYXM_NM = QU.FC_QYXM_NM AND DA.FC_MB_NM = QU.FC_MB_NM AND DA.FC_ZB_NM = QU.FC_ZB_NM AND DA.FC_LX_NM = QU.FC_LX_NM AND DA.FC_QJ_NM = QU.FC_QJ_NM AND DA.FC_ZZ_NM = 'f9b6a300-534c-49f0-9aca-63b5a4caf8d8')
WHEN MATCHED THEN
UPDATE
SET DA.FC_QJS = ROUND(QU.FC_QJS, QU.FCBZL_DECN),
DA.FC_LJS = ROUND(QU.FC_LJS, QU.FCBZL_DECN),
DA.FC_NDS = ROUND(QU.FC_NDS, QU.FCBZL_DECN),
DA.FC_LJS_C = ROUND(QU.FC_LJS_C, QU.FCBZL_DECN),
DA.FC_NDS_C = ROUND(QU.FC_NDS_C, QU.FCBZL_DECN),
DA.FC_QJS_C = ROUND(QU.FC_QJS_C, QU.FCBZL_DECN),
DA.FC_NDS_1 = ROUND(QU.FC_NDS_1, QU.FCBZL_DECN),
DA.FC_LJS_1 = ROUND(QU.FC_LJS_1, QU.FCBZL_DECN),
DA.FC_QJS_1 = ROUND(QU.FC_QJS_1, QU.FCBZL_DECN),
FC_SJLY = '',
FC_HZLBNM = 'fc302219-8a8b-484a-a9ff-2292a19606e3',
LASTMODIFIER = 'LYX',
LASTMODIFIEDTIME = (select to_date('2017-07-21 14:06:01 ',
'YYYY-MM-DD HH24:MI:SS')
from dual)
WHEN NOT MATCHED THEN
INSERT
(FC_ZZ_NM,
FC_MXNM,
FC_DANM,
FC_BBDY,
FC_LCST,
FC_QYXM_NM,
FC_MB_NM,
FC_ZB_NM,
FC_LX_NM,
FC_QJ_NM,
FC_QJS,
FC_NDS,
FC_LJS,
FC_QJS_C,
FC_NDS_C,
FC_LJS_C,
FC_QJS_1,
FC_NDS_1,
FC_LJS_1,
FC_SJLY,
FC_HZLBNM,
CREATOR,
LASTMODIFIER,
CREATEDTIME,
LASTMODIFIEDTIME)
VALUES
('f9b6a300-534c-49f0-9aca-63b5a4caf8d8',
'XS04',
substr(sys_guid(), 0, 4) || sys_guid(),
'262ff333-8e40-47ec-8753-b18a4fac9331',
'',
QU.FC_QYXM_NM,
QU.FC_MB_NM,
QU.FC_ZB_NM,
QU.FC_LX_NM,
QU.FC_QJ_NM,
ROUND(QU.FC_QJS, QU.FCBZL_DECN),
ROUND(QU.FC_NDS, QU.FCBZL_DECN),
ROUND(QU.FC_LJS, QU.FCBZL_DECN),
ROUND(QU.FC_QJS_C, QU.FCBZL_DECN),
ROUND(QU.FC_NDS_C, QU.FCBZL_DECN),
ROUND(QU.FC_LJS_C, QU.FCBZL_DECN),
ROUND(QU.FC_QJS_1, QU.FCBZL_DECN),
ROUND(QU.FC_NDS_1, QU.FCBZL_DECN),
ROUND(QU.FC_LJS_1, QU.FCBZL_DECN),
'',
'fc302219-8a8b-484a-a9ff-2292a19606e3',
'LYX',
'LYX',
(select to_date('2017-07-21 14:06:01 ', 'YYYY-MM-DD HH24:MI:SS')
from dual),
(select to_date('2017-07-21 14:06:01 ', 'YYYY-MM-DD HH24:MI:SS')
from dual))

其实merge into语句的语法概括起来如下:

MERGE INTO table_name t1
USING (table|view|sub_query) t2
ON (join condition)
WHEN MATCHED THEN
    UPDATE table_name
    SET col1 = col_val1,
col2 = col_val2
WHEN NOT MATCHED THEN
    INSERT (column_list) VALUES (column_values);

纪念我人生中第一个merge into语句的更多相关文章

  1. 手摸手教你编写你人生中第一个HTML页面

    本文是<HTML5与CSS3基础语法自学教程>的第二篇,首发于[前端课湛]微信公众号. 导读:本小节主要讲解 HTML 的基础语法内容,将通过编写第一个 HTML 页面来学习 HTML 的 ...

  2. 18岁,赚到了人生中的第一个10W!

    大家好,我是九歌 今年我18岁,赚到了我人生中的第一个10W 截至2019年10月14日,我已经做了43天的公众号啦,粉丝也悄然增长到了1W8,感谢各位读者朋友给我的支持和鼓励. 相信大部分读者都是从 ...

  3. 如何查找MySQL中查询慢的SQL语句

    如何查找MySQL中查询慢的SQL语句 更多 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow ...

  4. 如何查找MySQL中查询慢的SQL语句(转载)

    转载自https://www.cnblogs.com/qmfsun/p/4844472.html 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那 ...

  5. PS网页设计教程XXX——在PS中创建一个漫画书主题网页布局

    作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,“熟读唐诗三百首,不会作诗也会吟”. 本系列的教程来源于网上的PS教程,都是国外的,全英文的.本人尝试 ...

  6. 在Git中添加一个项目

    首先保证Git服务器正确配置,管理员机器可正常连接并使用Git. 第一步:在服务器上新建一个项目仓库 切换到git用户: a@ubuntu:/home/git$ su - git $ cd /home ...

  7. C#7.2——编写安全高效的C#代码 c# 中模拟一个模式匹配及匹配值抽取 走进 LINQ 的世界 移除Excel工作表密码保护小工具含C#源代码 腾讯QQ会员中心g_tk32算法【C#版】

    C#7.2——编写安全高效的C#代码 2018-11-07 18:59 by 沉睡的木木夕, 123 阅读, 0 评论, 收藏, 编辑 原文地址:https://docs.microsoft.com/ ...

  8. 人生中的那口井 z

    有两个和尚住在隔壁,每天都会在同一时间下山去溪边挑水,不知不觉己经过了五年. 突然有一天,左边这座山的和尚没有下山挑水,过了一个星期,还是没有下山挑水. 直到过了一个月,右边那座山的和尚很担心就去探望 ...

  9. 如何在 GitHub 的项目中创建一个分支呢?

    如何在 GitHub 的项目中创建一个分支呢? 其实很简单啦,直接点击 Branch,然后在弹出的文本框中添加自己的 Branch Name 然后点击蓝色的Create branch就可以了,这样一来 ...

随机推荐

  1. hdu6166

    hdu6166 题意 给出一个有向图,选择 \(k\) 个点,问这 \(k\) 个点任意两点距离的最小值. 分析 按结点编号的二进制位,每次可以把所有点分到两个集合,那么求两个集合的点间的最短路即可( ...

  2. ubuntu 下终端关于调试C++的命令

    先确定安装了vim 和gcc (c语言)或者g++(c++) 如果没有安装可以在终端输入以下命令: sudo apt-get install build-essential sudo apt-get ...

  3. FFT&NTT&多项式相关

    打了FFT 感觉以后多项式不虚了 ~滑稽~ PS 关于详见没写完.... code #include<cmath> #include<cstdio> #include<c ...

  4. Codechef REBXOR

    Read problems statements in Mandarin and Russian. Translations in Vietnamese to be uploaded soon. Ni ...

  5. [AGC025E]Walking on a Tree

    题意:有一棵树,你要按顺序在树上走$m$次,每次从$u_i$到$v_i$或从$v_i$到$u_i$,走完后,如果一条边被单向经过,那么它贡献$1$的价值,如果一条边被双向经过,那么它贡献$2$的价值, ...

  6. 【MySQL笔记】数据定义语言DDL

    1.创建基本表   create table <表名> (<列名><数据类型>[列级完整性约束条件]                                 ...

  7. 【R实践】时间序列分析之ARIMA模型预测___R篇

    时间序列分析之ARIMA模型预测__R篇 之前一直用SAS做ARIMA模型预测,今天尝试用了一下R,发现灵活度更高,结果输出也更直观.现在记录一下如何用R分析ARIMA模型. 1. 处理数据 1.1. ...

  8. Scala实战高手****第12课:Scala函数式编程进阶(匿名函数、高阶函数、函数类型推断、Currying)与Spark源码鉴赏

    /** * 函数式编程进阶: * 1.函数和变量一样作为Scala语言的一等公民,函数可以直接赋值给变量 * 2.函数更常用的方式是匿名函数,定义的时候只需要说明输入参数的类型和函数体即可,不需要名称 ...

  9. 显示/隐藏Mac系统中所有的隐藏文件

    显示: 在终端输入:defaults write com.apple.finder AppleShowAllFiles YES 隐藏: 在终端输入:defaults write com.apple.f ...

  10. 制作推送证书 and Code=3000 "未找到应用程序的“aps-environment”的权利字符串"

    制作推送证书 step1. 打开苹果开发者网站 step2. 从Member Center进入Certificates, Identifiers & Profiles step3. 选择要制作 ...