`

plslq 语句编写规范

 
阅读更多

项目测试过程发现,公司测试无问题,客户测试报错,经过现场分析,发现为plsql中编写批量插入语句,

没有明确指明表的字段导致。

因为客户端数据表的字段顺序和公司数据库表字段顺序不一致导致。

-1400- 位置=,ORA-01400: cannot insert NULL into ("PMSDATA"."TFZ_GRADE_DETAIL_REC_HIS"."SCORE") stpb_id=3901430
原因:公司tfz_grade_detail_rec_his字段的顺序和平安不一致,导致不能插入正确值。
insert into tfz_grade_detail_rec_his
select v_id,
x.grin_id,
x.supply_id,
x.user_id,
x.score,
x.remark,
sysdate
from tfz_grade_user_result x
where x.stpb_id = i_stpb_id
and x.stpr_id = i_stpr_id
and x.bundle_code = i_bundle_code
and x.user_id = v.user_id;


公司

batch_id NUMBER(9) not null,
grin_id NUMBER(9) not null,
supply_id NUMBER(9) not null,
user_id NUMBER(9) not null,
score NUMBER(5,2) not null,
remark VARCHAR2(4000),
cdate DATE default sysdate not null

平安

(
BATCH_ID NUMBER(9) not null,
GRIN_ID NUMBER(9) not null,
SUPPLY_ID NUMBER(9) not null,
USER_ID NUMBER(9) not null,
REMARK VARCHAR2(4000),
SCORE NUMBER(5,2) not null,
CDATE DATE default sysdate not null
)

更改:

insert into tfz_grade_detail_rec_his
(batch_id,grin_id,supply_id,user_id,score,remark,cdate)
select v_id,
x.grin_id,
x.supply_id,
x.user_id,
x.score,
x.remark,
sysdate
from tfz_grade_user_result x
where x.stpb_id = i_stpb_id
and x.stpr_id = i_stpr_id
and x.bundle_code = i_bundle_code
and x.user_id = v.user_id;

指明要插入的表字段,是个好习惯,更规范。

 

深入分析:

导致公司和客户端表字段顺序不一致的原因是tfz_grade_detail_rec_his表之前已经客户数据库中,通过后续ddl更改,导致

表字段两边顺序不一致。因此如果对原始表更改较大,或许先drop掉重新建表会好点。

 

 

分享到:
评论

相关推荐

    Oracle SQL编写规范

    Oracle SQL编写规范是指在编写SQL语句时的一些基本原则和方法,旨在提高SQL语句的执行效率和可读性。以下是Oracle SQL编写规范的详细解释: 1. 尽量用索引,特别在从大量数据中返回小部分数据时 使用索引可以大大...

    Delphi程序员代码编写规范

    Delphi程序员代码编写规范是一份指导程序员按照统一标准进行编程的文档,旨在提高代码的可读性、可维护性和团队协作效率。以下是对规范中各部分的详细解释: 一、序言 序言部分强调了这份规范的重要性,尽管它不是...

    SQL语句编写好工具

    "SQL语句编写好工具"显然是一款专为此目的设计的软件,它可能提供了丰富的功能来帮助用户更方便、高效地编写SQL代码。 首先,这类工具通常会包含以下特性: 1. **自动完成**:在用户输入SQL语句时,提供自动补全...

    SQL编写规范.doc

    ### SQL编写规范知识点详解 #### 一、概述 SQL(Structured Query Language)是一种用于管理和处理关系型数据库的标准语言。为了确保SQL脚本的质量、可读性和执行效率,制定一套标准的SQL编写规范至关重要。本文档...

    sql语句编写.md

    sql语句编写.md

    ORACLE数据库SQL语句编写优化总结

    总结以上内容,ORACLE数据库SQL语句的编写优化涉及多方面知识,包括优化器的合理选择、高效的表访问方法、共享SQL语句的使用、索引的正确配置和应用、SQL内部操作的处理以及低效SQL语句的识别与优化等。在实际操作中...

    软件编写规范.pdf

    针对C语言编程,本文件详细规定了一系列的编码规范,旨在指导程序员如何规范地编写C语言代码,特别是在微控制器(MCU)软件开发领域。 首先,规范中对代码的排版提出了明确的要求。例如,在编写程序块时,推荐采用...

    安全代码编写规范

    ### 安全代码编写规范详解 #### 一、编写目的及适用范围 **编写目的**:为了提升软件产品的安全性,减少应用上线后可能面临的安全威胁,制定本安全代码编写规范。该规范旨在指导开发人员遵循一定的规则,确保软件在...

    VHDL语言编写规范

    VHDL语言编写规范 VHDL(VHSIC Hardware Description Language)是用于描述数字电路的硬件描述语言,广泛应用于FPGA、ASIC和其他数字电路设计中。为确保VHDL语言的编写质量和可读性,需要遵守一定的编写规范。本文...

    java代码编写规范

    ### Java代码编写规范详解 #### 一、引言 ##### 1.1 为何需要编码规范 在软件开发过程中,编码规范的制定至关重要。据统计,一个软件在其生命周期中,大约有80%的成本用于后期的维护工作。由于极少有软件能够...

    DBA对Oracle SQL编写规范的总结

    ### DBA对Oracle SQL编写规范的总结 #### 一、引言 在Oracle数据库开发过程中,遵循一套标准化的SQL编写规范对于提升代码质量、增强可读性和可维护性至关重要。本文档由一位经验丰富的数据库管理员(DBA)撰写,旨在...

    SQL简单编写编写规范

    本文档概述了SQL简单编写规范的关键方面,包括命名规则、数据操作语言示例、条件语句、异常处理以及注释的最佳实践。遵循这些指导原则可以帮助开发人员创建更易于维护、理解和扩展的数据库应用程序。通过标准化SQL的...

    SQL语句的良好编写方法

    SQL语句的良好编写方法是数据库开发中至关重要的技巧,它直接影响到查询性能和代码的可读性。以下是一些关于如何编写高效、清晰SQL语句的建议。 首先,理解一个SELECT语句的基本结构至关重要。一个典型的SELECT语句...

    4-动态SQL语句编写.pdf

    根据给定文件信息,以下是关于动态SQL语句编写的详细知识点: Mybatis的动态SQL技术是Mybatis框架中的一种强大特性,它允许用户在XML映射文件中编写灵活的SQL语句。动态SQL的实现方式多样,可以极大地简化复杂SQL...

    Verilog-HDL编写规范(全)

    这篇“Verilog-HDL编写规范(全)”涵盖了Verilog语言的各个方面,旨在提供一个全面的指导,帮助工程师们遵循最佳实践来编写高效、可读性强且易于维护的代码。 在Verilog-HDL编程中,以下是一些重要的知识点: 1. ...

    Java代码编写规范

    【Java代码编写规范】 编码规范在IT行业中,尤其是在Java编程领域,扮演着至关重要的角色。首先,一个软件的生命周期中,大部分成本在于维护阶段,因此,为了降低维护难度和提高效率,良好的编码规范必不可少。其次...

    使用SQL语句编写图形

    使用SQL语句编写各种图形 如直角三角形,正方形,梯形.....

    msgbox语句编写

    方便VB开发者编写语句

    代码编写规范说明书(c#与asp.net)

    【代码编写规范说明书(C#与ASP.NET)】 1. **目的** - 规范的制定是为了确保软件开发团队的代码具有一致性和统一性,提高代码的可读性和可维护性。 - 适用于所有基于.NET平台的企业软件开发项目,确保在设计和...

    sql语句规范

    SQL 语句规范 SQL 语句规范是数据库性能优化的重要一环,以下是 SQL 语句书写和建表规范的相关知识点: 1. Select 语句规范 * 避免使用通配符,选择需要的列而不是所有列 * 在可能的情况下,限制结果集的行数,以...

Global site tag (gtag.js) - Google Analytics