东浦数据库开发标准
1. 书写规范
此文档的所有部分都为公司的机密文档,其版权为公司所有,未经允许不得非法复制和外流
东浦数据库开发标准
1.1 大小写风格
1.1.1 所有数据库关键字和保留字使用大写,其他使用小写
示例:
SELECT header_id FROM po_headers;
DECLARE v_count PLS_INTEGER;
1.1.2 允许所有数据库代码统一使用小写
示例:
select header_id from po_headers;
declare v_count pls_integer;
此文档的所有部分都为公司的机密文档,其版权为公司所有,未经允许不得非法复制和外流
东浦数据库开发标准
1.2 缩进风格
1.2.1 程序块采用缩进风格书写
为了保证代码清晰易读,风格一致,缩进格数统一为4 个字符。
1.2.2 使用空格,不允许使用TAB 键
以免用不同的编辑器阅读程序时,因TAB 键所设置的空格数目不同而造成程序布局不整齐。
1.2.3 同一条语句占用多行时,每行的第一个关键字应当左对齐
示例:
select field1, field2,… from t_tablename where field1 > 1
and filed2 < sysdate
group by field1, filed2 order by field1, field2
1.2.4 同一部分内容,多行表达时缩进
示例1:
Select field1, field2, field3, feld4, field5,
field6, field7, field8, … 示例2: where field1 > 1
and field4 < sysdate and (field2 < 3 or field3 = 5)
1.2.5 复杂SQL的多层嵌套缩进方式
复杂SQL的多层嵌套,同层保持左对齐,不同层之间缩进,体现清晰的层次关系。
示例:
insert into to_scm_demandplan (
id, xqbb, xqdw, xqlb,
xqpch, cxmc1, cxmc2, cjlb, clys,
此文档的所有部分都为公司的机密文档,其版权为公司所有,未经允许不得非法复制和外流
东浦数据库开发标准
ddysname, resourcecolor, resourcecolorname, clsx, gnwqf, dph, bz1, ddh, ddhh, replycreatetime, bz2,
flag, batchid, createtime, updatetime, deleteflag, xqxz, replytime, planintime )
select seq_to_scm_demandplan.nextval, temp_xqbb, '3000', '1',
d.demandbatch, d.sellcar, d.producemark, d.cjlb, d.ddyscolor, d.ddyscolorname, d.resourcecolor, d.resourcecolorname, d.carproperty, d.country, d.underpan, d.remark1, d.orderid, d.orderdetailid, d.replycreatetime, '', '', '', sysdate, sysdate, '0', '2', d.replytime, d.planintime from (
select r.demandbatch, r.sellcar, r.producemark, '10' cjlb,
o.colorcode ddyscolor, o.color ddyscolorname, r.color resourcecolor, r.colorname resourcecolorname, r.carproperty, r.country, r.underpan, q.remark1, o.ordercode orderid, o.rowno orderdetailid, o.replycreatetime, o.replytime, r.planintime from to_resource r, to_orderqueue q,
(
select o.ordercode, q.rowno, o.colorcode, o.color, q.remark1,
r.createtime replycreatetime, q.isscmreply, r.replytime from to_order o, to_orderqueue q, to_orderreply r where o.ordercode = q.ordercode
and o.ordercode = r.ordercode and q.rowno = r.rowno and o.deleteflag = '0' and q.deleteflag = '0' and r.deleteflag = '0' and r.status = '1' and q.status <> 4
and isscmreply in ('1', '2', '4')
) o
where r.orderid = q.ordercode(+)
and r.orderdetailid = q.rowno(+) and r.deleteflag = '0'
此文档的所有部分都为公司的机密文档,其版权为公司所有,未经允许不得非法复制和外流
东浦数据库开发标准
and r.planintime > =
fn_getday_aftersomedays (
to_char(sysdate, 'YYYY-MM-DD'), to_number(fn_getsysparam('n_day')), '0' )
and r.planintime <
to_date(fn_getsysparam('start_date'), 'yyyy-MM-dd') and o.ordercode(+) = r.orderid and o.rowno(+) = r.orderdetailid
) d;
此文档的所有部分都为公司的机密文档,其版权为公司所有,未经允许不得非法复制和外流