银行数仓项目实战(六)--基础层(完成存款的明细表---宽表)

文章目录

  • 熟悉业务
  • 模型设计
  • 梳理映射关系
  • 加工宽表
  • 测试提交

FDM基础层:根据主题(需求),将源数据加工集成,形成业务明细表–宽表

熟悉业务

当我们的工作来到基础层,我们首先要做的是跟甲方沟通,要求甲方提供需求,同时我们应该熟悉数据字典,熟悉业务。

模型设计

模型设计(字段取数来源 字段加工规则 字段数据类型)

梳理映射关系

梳理映射关系:字段 源–目标的关系,字段的加工逻辑,表关联逻辑,过滤逻辑,伪代码。
我们做的项目是存款项目,需要梳理映射文档。以下是甲方提供的需求,我们需要从源数据中将对应的字段找出。
在这里插入图片描述
右边是甲方需要的字段,这些字段分布在两个表中,我们需要花时间找出他们来,最后找完的结果如下。
在这里插入图片描述
梳理完映射文档,我们需要建立明细表–宽表。

加工宽表

问甲方要建表语句

-- Create table
create table F_AGR_DEP_SAP_ACCT
(acct_no             VARCHAR2(10),curr_cd             VARCHAR2(20),curr_iden           VARCHAR2(1),acct_typ            VARCHAR2(30),pdp_cd              VARCHAR2(20),dep_typ             VARCHAR2(4),acct_char           VARCHAR2(40),cust_no             VARCHAR2(20),cust_name           VARCHAR2(100),ibd_typ             VARCHAR2(4),ibd_no              VARCHAR2(20),card_no             VARCHAR2(19),conntr_no           VARCHAR2(20),org_no              VARCHAR2(9),ases_org_no         VARCHAR2(9),opac_org_no         VARCHAR2(9),opac_amt            NUMBER(20,2),opac_dt             VARCHAR2(80),opac_perm_no        VARCHAR2(15),opac_trl_no         VARCHAR2(12),cacct_org_no        VARCHAR2(9),cacct_dt            VARCHAR2(80),cacct_trl_no        VARCHAR2(12),intc_flg            VARCHAR2(1),curr_char           VARCHAR2(1),aval_dt             VARCHAR2(80),cacl_dt             VARCHAR2(80),fs_sts              VARCHAR2(1),prds_instn_dpdw_flg VARCHAR2(1),drw_typ             VARCHAR2(4),int_tax_flg         VARCHAR2(1),acct_ctl_sts        VARCHAR2(50),dpdw_rang           VARCHAR2(1),com_od_flg          VARCHAR2(1),od_int_days_n       INTEGER,ddp_pdt             NUMBER(20,2),ddp_acct_sts        VARCHAR2(3),ddp_od_max          NUMBER(20,2),od_int_amt          NUMBER(20,2),frz_amt             NUMBER(20,2),intc_amt            NUMBER(20,2),avl_bal             NUMBER(20,2),acct_bal            NUMBER(20,2),int_bal             NUMBER(20,2),int_acct_no         VARCHAR2(32),ltm_pdtc_dt         VARCHAR2(80),ltm_intc_dt         VARCHAR2(80),ltm_tx_dt           VARCHAR2(80),actu_pdt            NUMBER(20,2),od_tm               INTEGER,od_pdt              NUMBER(20,2),od_amt              NUMBER(20,2),od_days             INTEGER,od_int              NUMBER(20,2),ovdln_od_int        NUMBER(20,2),od_lg_flg           VARCHAR2(1),today_od_csh_amt    NUMBER(20,2),ngo_dep_fl_totl     INTEGER,ngo_int_acct_no     VARCHAR2(32),ngo_aval_dt         VARCHAR2(80),ngo_cncl_dt         VARCHAR2(80),trt_val             NUMBER(12,6),svc_bal             NUMBER(20,2),od_csh_amt          NUMBER(20,2),intr_cod            VARCHAR2(2),intr                NUMBER(12,6),fltr_fvr_sign       VARCHAR2(1),fltr_fvr            NUMBER(12,6),sleep_dt            VARCHAR2(80),sleep_sts           VARCHAR2(2),less_intr_flg       VARCHAR2(1),mafe_flg            VARCHAR2(1),mafe_owe_amt        NUMBER(20,2),mafe_year           VARCHAR2(2),sleep_flg           VARCHAR2(1),insp_flg            VARCHAR2(1),risk_lvl            VARCHAR2(1),psbk_no             INTEGER,psbk_prt_no         VARCHAR2(13),etl_dt              DATE
);
-- Add comments to the columns 
comment on column F_AGR_DEP_SAP_ACCT.acct_nois '账号';
comment on column F_AGR_DEP_SAP_ACCT.curr_cdis '币种代码';
comment on column F_AGR_DEP_SAP_ACCT.curr_idenis '钞汇类别';
comment on column F_AGR_DEP_SAP_ACCT.acct_typis '账别';
comment on column F_AGR_DEP_SAP_ACCT.pdp_cdis '产品代码';
comment on column F_AGR_DEP_SAP_ACCT.dep_typis '存款种类';
comment on column F_AGR_DEP_SAP_ACCT.acct_charis '账号性质';
comment on column F_AGR_DEP_SAP_ACCT.cust_nois '客户编号';
comment on column F_AGR_DEP_SAP_ACCT.cust_nameis '客户姓名';
comment on column F_AGR_DEP_SAP_ACCT.ibd_typis '凭证种类';
comment on column F_AGR_DEP_SAP_ACCT.ibd_nois '凭证号码';
comment on column F_AGR_DEP_SAP_ACCT.card_nois '卡号';
comment on column F_AGR_DEP_SAP_ACCT.conntr_nois '联系人编号';
comment on column F_AGR_DEP_SAP_ACCT.org_nois '机构编号';
comment on column F_AGR_DEP_SAP_ACCT.ases_org_nois '考核机构';
comment on column F_AGR_DEP_SAP_ACCT.opac_org_nois '开户机构号';
comment on column F_AGR_DEP_SAP_ACCT.opac_amtis '开户金额';
comment on column F_AGR_DEP_SAP_ACCT.opac_dtis '开户日期';
comment on column F_AGR_DEP_SAP_ACCT.opac_perm_nois '开户许可证号';
comment on column F_AGR_DEP_SAP_ACCT.opac_trl_nois '开户柜员号';
comment on column F_AGR_DEP_SAP_ACCT.cacct_org_nois '销户机构号';
comment on column F_AGR_DEP_SAP_ACCT.cacct_dtis '销户日期';
comment on column F_AGR_DEP_SAP_ACCT.cacct_trl_nois '销户柜员号';
comment on column F_AGR_DEP_SAP_ACCT.intc_flgis '计息标志';
comment on column F_AGR_DEP_SAP_ACCT.curr_charis '钞汇属性';
comment on column F_AGR_DEP_SAP_ACCT.aval_dtis '起用日期';
comment on column F_AGR_DEP_SAP_ACCT.cacl_dtis '注销日期';
comment on column F_AGR_DEP_SAP_ACCT.fs_stsis '综合理财标志';
comment on column F_AGR_DEP_SAP_ACCT.prds_instn_dpdw_flgis '约定机构存取标志';
comment on column F_AGR_DEP_SAP_ACCT.drw_typis '支取方式';
comment on column F_AGR_DEP_SAP_ACCT.int_tax_flgis '利息税收税标志';
comment on column F_AGR_DEP_SAP_ACCT.acct_ctl_stsis '帐户控制状态';
comment on column F_AGR_DEP_SAP_ACCT.dpdw_rangis '通兑范围';
comment on column F_AGR_DEP_SAP_ACCT.com_od_flgis '法人账户透支标志';
comment on column F_AGR_DEP_SAP_ACCT.od_int_days_nis '应收透支息透支天数';
comment on column F_AGR_DEP_SAP_ACCT.ddp_pdtis '活存积数';
comment on column F_AGR_DEP_SAP_ACCT.ddp_acct_stsis '账户状态';
comment on column F_AGR_DEP_SAP_ACCT.ddp_od_maxis '账户最大透支额';
comment on column F_AGR_DEP_SAP_ACCT.od_int_amtis '计透支息金额';
comment on column F_AGR_DEP_SAP_ACCT.frz_amtis '冻结金额';
comment on column F_AGR_DEP_SAP_ACCT.intc_amtis '计息金额';
comment on column F_AGR_DEP_SAP_ACCT.avl_balis '可用金额';
comment on column F_AGR_DEP_SAP_ACCT.acct_balis '账户余额';
comment on column F_AGR_DEP_SAP_ACCT.int_balis '利息';
comment on column F_AGR_DEP_SAP_ACCT.int_acct_nois '收息账号';
comment on column F_AGR_DEP_SAP_ACCT.ltm_pdtc_dtis '上次计算积数日';
comment on column F_AGR_DEP_SAP_ACCT.ltm_intc_dtis '上次计息日';
comment on column F_AGR_DEP_SAP_ACCT.ltm_tx_dtis '上次交易日期';
comment on column F_AGR_DEP_SAP_ACCT.actu_pdtis '实积数';
comment on column F_AGR_DEP_SAP_ACCT.od_tmis '透支次数';
comment on column F_AGR_DEP_SAP_ACCT.od_pdtis '透支积数';
comment on column F_AGR_DEP_SAP_ACCT.od_amtis '透支金额';
comment on column F_AGR_DEP_SAP_ACCT.od_daysis '透支天数';
comment on column F_AGR_DEP_SAP_ACCT.od_intis '透支息';
comment on column F_AGR_DEP_SAP_ACCT.ovdln_od_intis '催收透支息';
comment on column F_AGR_DEP_SAP_ACCT.od_lg_flgis '透支科目标志';
comment on column F_AGR_DEP_SAP_ACCT.today_od_csh_amtis '当日累计透支取现金额';
comment on column F_AGR_DEP_SAP_ACCT.ngo_dep_fl_totlis '协议存款档数';
comment on column F_AGR_DEP_SAP_ACCT.ngo_int_acct_nois '协议收息账号';
comment on column F_AGR_DEP_SAP_ACCT.ngo_aval_dtis '协定存款设定日期';
comment on column F_AGR_DEP_SAP_ACCT.ngo_cncl_dtis '协定存款取消日期';
comment on column F_AGR_DEP_SAP_ACCT.trt_valis '税率';
comment on column F_AGR_DEP_SAP_ACCT.svc_balis '手续费';
comment on column F_AGR_DEP_SAP_ACCT.od_csh_amtis '累计透支取现金额';
comment on column F_AGR_DEP_SAP_ACCT.intr_codis '利率依据';
comment on column F_AGR_DEP_SAP_ACCT.intris '利率';
comment on column F_AGR_DEP_SAP_ACCT.fltr_fvr_signis '浮动利率加减码符号位';
comment on column F_AGR_DEP_SAP_ACCT.fltr_fvris '浮动利率加减码';
comment on column F_AGR_DEP_SAP_ACCT.sleep_dtis '睡眠设置日期';
comment on column F_AGR_DEP_SAP_ACCT.sleep_stsis '睡眠状态';
comment on column F_AGR_DEP_SAP_ACCT.less_intr_flgis '免执行小额利率标志';
comment on column F_AGR_DEP_SAP_ACCT.mafe_flgis '免收小额管理费标志';
comment on column F_AGR_DEP_SAP_ACCT.mafe_owe_amtis '小额管理费欠收金额';
comment on column F_AGR_DEP_SAP_ACCT.mafe_yearis '小额管理费扣收年份';
comment on column F_AGR_DEP_SAP_ACCT.sleep_flgis '不动户处理标志';
comment on column F_AGR_DEP_SAP_ACCT.insp_flgis '年检标志';
comment on column F_AGR_DEP_SAP_ACCT.risk_lvlis '风险等级';
comment on column F_AGR_DEP_SAP_ACCT.psbk_nois '册号';
comment on column F_AGR_DEP_SAP_ACCT.psbk_prt_nois '存单存折印刷号';

加工宽表 写存储过程,存储过程我们需要注意的是。
1.insert不能一条一条插入。需要使用select插入。插入的字段需要与刚刚建立的表字段相同顺序一致字段属性一致。
2.根据甲方提供的需求与项目主题,写出伪代码,

(SAACNAMT a left join SAACNACN b ona.FK_SAACN_KEY=b.SA_ACCT_NOwhere substr(a.SA_PDP_CODE,4,3)='SA1' and substr(b.SA_CUST_NO,1,1)='1')
UNION
(SAACNAMT a left join SAACNACN b ona.FK_SAACN_KEY=b.SA_ACCT_NOwhere substr(a.SA_PDP_CODE,4,3)='SA0')

根据伪代码写出存储过程,此处给出一个简略的存储过程

CREATE OR REPLACE PROCEDURE SP_F_AGR_DEP_SAP_ACCT  IS/*****************************************************************************程序名称:SP_F_AGR_DEP_SAP_ACCT功能描述:个人活期账户信息宽表目 标 表:FDM.F_AGR_DEP_SAE_ACCT  活期企业存款账户信息源    表:SDM.SAACNAMT  活存资金档SDM.SAACNACN  活期存款主档创 建 人:孙云龙创建日期:20240620修改日期:修改人员:修改原因:******************************************************************************//*存储过程变量定义*/V_STARTTIME DATE; --开始时间V_ENDTTIME DATE; --结束时间V_ROWCOUNT INT; --记录数V_SQLCODE  VARCHAR2(200);V_SQLERRM  VARCHAR2(1000);V_SPNAME VARCHAR2(200);/* 程序开始执行*/
BEGIN/*变量赋值*/V_STARTTIME:=sysdate;V_SPNAME:='SP_F_AGR_DEP_SAP_ACCT';/*插入宽表数据*/INSERT INTO FDS.F_AGR_DEP_SAP_ACCTSELECT a.FK_SAACN_KEY  ,-- a.SA_CURR_COD ,-- 币别a.SA_CURR_IDEN  ,-- 钞汇鉴别b.SA_ACCT_TYP ,-- 帐别2a.SA_PDP_CODE ,-- 产品代码b.SA_DEP_TYP  ,-- 存款种类b.SA_ACCT_CHAR  ,-- 帐户性质b.SA_CUST_NO  ,-- 客户编号b.SA_CUST_NAME  ,-- 客户名称b.SA_DOC_TYP  ,-- 凭证种类(DOC)b.SA_PSBK_PRT_NO1 ,-- 存折印刷号1b.SA_CARD_NO  ,-- 卡号(CARD)b.SA_CONNTR_NO  ,-- 联系人编号a.SA_BELONG_INSTN_COD ,-- 账户归属机构a.SA_ASES_INSTN_COD ,-- 考核机构b.SA_OPAC_INSTN_NO  ,-- 开户机构号(OPAC)b.SA_OPAC_AMT ,-- 开户金额b.SA_OPAC_DT  ,-- 开户日期-X8b.SA_OPAC_PERM_NO ,-- 开户许可证号b.SA_OPAC_TLR_NO  ,-- 开户柜员号b.SA_CACCT_INSTN_NO ,-- 销户机构号b.SA_CACCT_DT ,-- 销户日期(CACCT)b.SA_CACCT_TLR_NO ,-- 销户柜员号b.SA_INTC_FLG ,-- 计息标志b.SA_CURR_TYP ,-- 钞汇属性b.SA_AVAL_DT  ,-- 起用日期(AVAL)'18991231' ,-- b.SA_FS_STS ,-- 综合理财标志NULL ,-- b.SA_DRW_TYP  ,-- 支取方式b.SA_INT_TAX_FLG  ,-- 利息税计税标志b.SA_ACCT_CTL_STS ,-- 帐户控制状态b.SA_DW_RANG  ,-- 通兑范围a.SA_COM_OD_FLG ,-- 法人帐户透支标志a.SA_OD_INT_DAYS_N  ,-- 应收透支息透支天数a.SA_DDP_PDT  ,-- 活存积数a.SA_DDP_ACCT_STS ,-- 活存帐户状态a.SA_DDP_OD_MAX ,-- 活存帐户最大透支额a.SA_OD_INT_AMT ,-- 计透支息金额a.SA_FRZ_AMT  ,-- 法律冻结金额a.SA_INTC_AMT ,-- 贷方计息金额a.SA_AVL_BAL  ,-- 可用余额(AVL)a.SA_ACCT_BAL ,-- 帐户余额a.SA_INT  ,-- 利息(16位)a.SA_INT_ACCT_NO  ,-- 利息帐号a.SA_LTM_PDTC_DT  ,-- 上次计算积数日a.SA_LTM_INTC_DT  ,-- 上次计息日a.SA_LTM_TX_DT  ,-- 上次交易日期a.SA_ACTU_PDT ,-- 实积数a.SA_OD_TM  ,-- 透支次数a.SA_OD_PDT ,-- 透支积数(OD)a.SA_OD_AMT ,-- 透支金额a.SA_OD_DAYS_N  ,-- 透支天数a.SA_OD_INT ,-- 透支息(16位)a.SA_OVDLN_OD_INT ,-- 催收透支息(16位)a.SA_OD_LG_FLG  ,-- 透支科目标志a.SA_TODAY_OD_CSH_AMT ,-- 当日累计透支取现金额a.SA_NGO_DEP_FL_TOTL  ,-- 协议存款档数a.SA_NGO_INT_ACCT_NO  ,-- 协议利息帐号a.SA_NGO_AVAL_DT  ,-- 协定存款设定日期a.SA_NGO_CNCL_DT  ,-- 协定存款取消日期a.SA_TRT_VAL  ,-- 税率(VAL)a.SA_SVC  ,-- 手续费a.SA_OD_CSH_AMT ,-- 累计透支取现金额(CSH)a.SA_INTR_COD ,-- 利率代码a.SA_INTR ,-- 利率a.SA_FLTR_FVR_SIGN  ,-- 浮动利率加减码符号位a.SA_FLTR_FVR ,-- 浮动利率加减码(SC)a.SA_SLEEP_DATE ,-- 睡眠设置日期a.SA_SLEEP_STS  ,-- 睡眠状态a.SA_LESS_INTR_FLG  ,-- 免执行小额利率标志a.SA_MAFE_FLG ,-- 免收管理费标志a.SA_MAFE_OWE_AMT ,-- 管理费欠费金额a.SA_MAFE_YEAR  ,-- 管理费扣收年份b.SA_SLEEP_PROC_FLG ,-- 不动户处理标志b.SA_INSP_FLG ,-- 年检标志b.SA_RISK_LVL ,-- 风险等级b.SA_PSBK_NO  ,-- 存折册号b.SA_PSBK_PRT_NO ,  -- 存折印刷号a.etldtFROM SDS.SAACNAMT a left join SDS.SAACNACN b ona.FK_SAACN_KEY = b.SA_ACCT_NO --账号where substr(a.SA_PDP_CODE, 4, 3) = 'SA1' --产品编号 活期and substr(b.SA_CUST_NO, 1, 1) = '1' --1开头的客户编号 个人客户UNIONSELECT a.FK_SAACN_KEY  ,-- a.SA_CURR_COD ,-- 币别a.SA_CURR_IDEN  ,-- 钞汇鉴别b.SA_ACCT_TYP ,-- 帐别2a.SA_PDP_CODE ,-- 产品代码b.SA_DEP_TYP  ,-- 存款种类b.SA_ACCT_CHAR  ,-- 帐户性质b.SA_CUST_NO  ,-- 客户编号b.SA_CUST_NAME  ,-- 客户名称b.SA_DOC_TYP  ,-- 凭证种类(DOC)b.SA_PSBK_PRT_NO1 ,-- 存折印刷号1b.SA_CARD_NO  ,-- 卡号(CARD)b.SA_CONNTR_NO  ,-- 联系人编号a.SA_BELONG_INSTN_COD ,-- 账户归属机构a.SA_ASES_INSTN_COD ,-- 考核机构b.SA_OPAC_INSTN_NO  ,-- 开户机构号(OPAC)b.SA_OPAC_AMT ,-- 开户金额b.SA_OPAC_DT  ,-- 开户日期-X8b.SA_OPAC_PERM_NO ,-- 开户许可证号b.SA_OPAC_TLR_NO  ,-- 开户柜员号b.SA_CACCT_INSTN_NO ,-- 销户机构号b.SA_CACCT_DT ,-- 销户日期(CACCT)b.SA_CACCT_TLR_NO ,-- 销户柜员号b.SA_INTC_FLG ,-- 计息标志b.SA_CURR_TYP ,-- 钞汇属性b.SA_AVAL_DT  ,-- 起用日期(AVAL)'18991231' ,-- b.SA_FS_STS ,-- 综合理财标志NULL ,-- b.SA_DRW_TYP  ,-- 支取方式b.SA_INT_TAX_FLG  ,-- 利息税计税标志b.SA_ACCT_CTL_STS ,-- 帐户控制状态b.SA_DW_RANG  ,-- 通兑范围a.SA_COM_OD_FLG ,-- 法人帐户透支标志a.SA_OD_INT_DAYS_N  ,-- 应收透支息透支天数a.SA_DDP_PDT  ,-- 活存积数a.SA_DDP_ACCT_STS ,-- 活存帐户状态a.SA_DDP_OD_MAX ,-- 活存帐户最大透支额a.SA_OD_INT_AMT ,-- 计透支息金额a.SA_FRZ_AMT  ,-- 法律冻结金额a.SA_INTC_AMT ,-- 贷方计息金额a.SA_AVL_BAL  ,-- 可用余额(AVL)a.SA_ACCT_BAL ,-- 帐户余额a.SA_INT  ,-- 利息(16位)a.SA_INT_ACCT_NO  ,-- 利息帐号a.SA_LTM_PDTC_DT  ,-- 上次计算积数日a.SA_LTM_INTC_DT  ,-- 上次计息日a.SA_LTM_TX_DT  ,-- 上次交易日期a.SA_ACTU_PDT ,-- 实积数a.SA_OD_TM  ,-- 透支次数a.SA_OD_PDT ,-- 透支积数(OD)a.SA_OD_AMT ,-- 透支金额a.SA_OD_DAYS_N  ,-- 透支天数a.SA_OD_INT ,-- 透支息(16位)a.SA_OVDLN_OD_INT ,-- 催收透支息(16位)a.SA_OD_LG_FLG  ,-- 透支科目标志a.SA_TODAY_OD_CSH_AMT ,-- 当日累计透支取现金额a.SA_NGO_DEP_FL_TOTL  ,-- 协议存款档数a.SA_NGO_INT_ACCT_NO  ,-- 协议利息帐号a.SA_NGO_AVAL_DT  ,-- 协定存款设定日期a.SA_NGO_CNCL_DT  ,-- 协定存款取消日期a.SA_TRT_VAL  ,-- 税率(VAL)a.SA_SVC  ,-- 手续费a.SA_OD_CSH_AMT ,-- 累计透支取现金额(CSH)a.SA_INTR_COD ,-- 利率代码a.SA_INTR ,-- 利率a.SA_FLTR_FVR_SIGN  ,-- 浮动利率加减码符号位a.SA_FLTR_FVR ,-- 浮动利率加减码(SC)a.SA_SLEEP_DATE ,-- 睡眠设置日期a.SA_SLEEP_STS  ,-- 睡眠状态a.SA_LESS_INTR_FLG  ,-- 免执行小额利率标志a.SA_MAFE_FLG ,-- 免收管理费标志a.SA_MAFE_OWE_AMT ,-- 管理费欠费金额a.SA_MAFE_YEAR  ,-- 管理费扣收年份b.SA_SLEEP_PROC_FLG ,-- 不动户处理标志b.SA_INSP_FLG ,-- 年检标志b.SA_RISK_LVL ,-- 风险等级b.SA_PSBK_NO  ,-- 存折册号b.SA_PSBK_PRT_NO,   -- 存折印刷号a.etldtFROM SDS.SAACNAMT aleft join SDS.SAACNACN bon a.FK_SAACN_KEY = b.SA_ACCT_NOwhere substr(a.SA_PDP_CODE, 4, 3) = 'SA0'; --个人活期 2020年之前V_ROWCOUNT:=sql%rowcount;  --获取上一条dml语句执行条数commit;V_ENDTTIME:=sysdate; --结束时间--游标  显式游标  定义  打开  遍历   关闭--隐式游标  dml语句--4个属性: found  notfound  isopen  游标名%rowcount/*插入正常日志*/insert into splogvalues (V_SPNAME,NULL,NULL,V_STARTTIME,V_ENDTTIME,V_ROWCOUNT,'正常' );commit; /* 异常处理 */
EXCEPTIONWHEN OTHERS THEN --捕获系统所有异常V_SQLCODE:=sqlcode;V_SQLERRM:=sqlerrm;/*插入异常日志*/insert into splogvalues (V_SPNAME,V_SQLCODE,V_SQLERRM,V_STARTTIME,V_ENDTTIME,0,'异常' );commit;
END;

在实际运行中,一般都是挂后台的,如果出错误我们没法看到实际的错误报告,因此我们需要将运行记录写进运行日志里,我们的运行日志需要获取以下信息,确保我们跑批结束后能及时发现并且定位错误信息。
存储过程名: V_SPNAME
错误代码: V_SQLCODE
错误信息: V_SQLERRM
存储过程开始时间: V_STARTTIME
存储过程结束时间: V_ENDTTIME
执行任务条数: V_ROWCOUNT
运行状态: ‘正常/异常’

测试提交

使用debug确定存储过程的每一步都没有出错即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/31160.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

未完工数据和系统数据对比分析

select * FROM ( select a.db_close_systime AS a_db_close_systime, -- 订单关闭时间 u.db_close_systime AS u_db_close_systime, -- 订单关闭时间 COALESCE( u.db_close_systime,a.db_close_systime) AS db_close_systime_coalesced ,-- 取非空值的订单关闭时间 a.i…

Harmony设计模式-单例模式

Harmony设计模式-单例模式 前言 软件设计模式([Design pattern](https://baike.baidu.com/item/Design pattern/10186718?fromModulelemma_inlink)),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经…

动态网页制作技术

动态网页制作技术是一种利用脚本语言、数据库和服务器端程序来生成动态内容的网页技术。以下是常用的动态网页制作技术: 1.PHP:PHP是一种广泛使用的服务器端脚本语言,可以嵌入到HTML中,用于生成动态网页内容。它可以与各种数据库进…

使用Kafka框架发送和接收消息(Java示例)

Kafka是一个开源的分布式流处理平台,以其在大数据和实时处理领域的广泛应用而闻名。以下是Kafka的关键特性以及它在消息传输方面的优势: 高吞吐量与低延迟:Kafka能够每秒处理数百万条消息,具有极低的延迟,这使得它非常…

前端调试技巧

1、利用console打印日志 2、利用debugger关键字,浏览器f12调用到方法debugger处会断点住,可以利用浏览器调试工具查看变量 a.监视表达式可以添加想要观察的变量 b.调用堆栈可以观察方法调用链 3、xhr断点 请求地址包含v1.0/banner_theme/pagelist&a…

Spacedrive:一个开源的跨平台文件管理器

文章目录 Spacedrive简介1.1 什么是Spacedrive?1.2 Spacedrive的核心功能1.3 Spacedrive的开发状态 Spacedrive的功能与特点2.1 文件存储在哪里?2.2 与传统文件管理器的区别2.3 与云存储服务的区别2.4 跨设备文件管理2.5 文件分类与过滤 Spacedrive的技术…

中科大和字节AI视频生成CamTrol杀疯了!运动可控,效果惊艳!

大家好,我是阿潘,今年堪称视频生成的爆发的一年,sora 2024年2月15日发布,让全世界都震惊了。openai 有一次成为了行业标杆。从生成的效果来看,比起以往抽象的生成结果,有了巨大的提升。 今天和大家分享中科…

DevExpress WPF中文教程:Grid - 如何将更改发布到数据库(设计时)?

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

c++设计模式之一创建型模式

1、创建型模式(常见的设计模式) Factory 模式(工厂模式,被实例化的子类) 在面向对象系统设计中经常可以遇到以下的两类问题: 下面是第一类问题和代码示例:我们经常会抽象出一些类的公共接口以…

1547. 切棍子的最小成本

Problem: 1547. 切棍子的最小成本 文章目录 思路解题方法复杂度Code 思路 本题的目标是在给定长度为 n 的棍子上,根据预设的切割点 cuts 进行切割,使得总的切割成本最小。每次切割的成本等于切割后两段棍子的长度之和。由于切割点可以任意选择&#xff0…

Spring Boot框架的原理及应用详解(六)

本系列文章简介: 在当今的软件开发世界中,快速迭代、高效开发以及易于维护成为了开发者们不断追求的目标。Spring Boot作为Spring框架的一个子项目,自其诞生以来就凭借其“约定大于配置”的理念和自动配置的特性,迅速在Java开发社…

密码学及其应用——公钥加密与公钥基础设施(PKI)

1. 引言 在当今的数字世界中,安全通信变得尤为重要。我们每天发送和接收的大量电子邮件和其他类型的在线消息都可能包含敏感信息。为了保护这些信息,我们可以利用公钥加密和公钥基础设施(PKI)。本文将通过安全邮件交换的示例&…

解决数据丢失问题的MacOS 数据恢复方法

每个人都经历过 Mac 硬盘或 USB 驱动器、数码相机、SD/存储卡等数据丢失的情况。我们中的一些人可能认为已删除或格式化的数据将永远丢失,因此就此作罢。对于 macOS 用户来说,当文件被删除时,垃圾箱已被清空,他们可能不知道如何恢…

pytorch lighting: Trying to resize storage that is not resizable

问题 在用pytorch lighting进行训练时碰到如下错误 即 Trying to resize storage that is not resizable 。 解决方案 在dataloader采样图片以及label时,保证每次采样的图片的分辨率不变。

Mistral AI 发布 Codestral-22B,精通 80+ 编程语言,22B 参数超越 70B Code Llama

前言 大型语言模型 (LLM) 在代码生成领域展现出巨大的潜力,但现有的模型在支持的编程语言数量、生成速度和代码质量方面仍存在局限性。法国 AI 独角兽 Mistral AI 近期发布了其首款代码生成模型 Codestral-22B,宣称在多项指标上超越了 GPT-4 和 Llama3&…

Spring Boot源码分析一:启动流程

1. 引言 SpringBoot是一个广泛使用的Java框架,旨在简化基于Spring框架的应用程序的开发过程。在这篇文章中,我们将深入探讨SpringBoot应用程序的启动流程,了解其背后的机制。 2. Spring Boot 启动概览 SpringBoot应用程序的启动通常从一个…

健康与生活助手:Kompas AI的高效应用

一、引言 在现代社会,随着生活节奏的加快和工作压力的增加,人们的健康问题日益凸显。健康管理已经成为每个人关注的重点。Kompas AI作为一款智能助手,通过其先进的人工智能技术,为用户提供全面的健康管理服务,帮助用户…

JavaSE 利用正则表达式进行本地和网络爬取数据(爬虫)

爬虫 正则表达式的作用 作用1:校验字符串是满足规则 作用2:在一段文本中查找满足需要的内容 本地爬虫和网络爬虫 Pattern类 表示正则表达式 Matter类 文本编译器,作用按照正则表达式的规则去读取字符串,从头开始读取&#xf…

爬虫day2

bs4解析-HTML语法 bs4解析比较简单,但是呢,首先你需要了解一丢丢的html知识,然后再去使用bs4去提取,逻辑和编写难度就会非常简单和清晰. HTML(Hyper Text Markup Language)超文本标记语言,是我们编写网页的最基本也是最核心的一种语言.其语法规则就是用不同的标签对网页上的内…

中间件(express)

中间件(express) 在Express.js中,中间件(Middleware)是一个重要的组成部分,用于处理HTTP请求和响应。中间件函数具有特定的签名,并可以接受请求对象(req)、响应对象&…