博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
让你提前认识软件开发(28):数据库存储过程中的重要表信息的保存及相关建议...
阅读量:5136 次
发布时间:2019-06-13

本文共 1509 字,大约阅读时间需要 5 分钟。

第2部分 数据库SQL语言

数据库存储过程中的重要表信息的保存及相关建议

 

1. 存储过程中的重要表信息的保存

        在非常多存储过程中,会涉及到对表数据的更新、插入或删除等,为了防止改动之后的表数据出现故障,同一时候方便追踪问题,通常会为一些重要的表建立一个相应的debug表。这个debug表中的字段要包含原表的全部字段,同一时候要添加�操作时间、操作码和操作描写叙述等字段信息。

        比如,在某项目中,包含了例如以下一个重要的表tb_XXX

create table tb_XXX

(

     AAA                varchar(30)    not null,    -- AAA

     BBB                varchar(30)    not null,   -- BBB

     CCC                int                     not null,   -- CCC

     . . . . . .

)

 

        我们的debug表能够命名为tb_XXX_debuglog,其定义例如以下:

create table tb_XXX_debuglog

(

     AAA                varchar(30)    not null,   -- AAA

     BBB                varchar(30)    not null,   -- BBB

     CCC                int           not null,   -- CCC

     . . . . . .

    opertime           varchar(19)        not null,    -- operating time

    result              varchar(20)     not null,   -- result code

    description     varchar(100)    not null,  -- operating description

    reservechar1  varchar(30)            null   -- reserved

)

 

         添加�的字段如红色字所看到的,当中opertime表示操作时间,result表示结果码(成功或失败等)description表示操作描写叙述,reservechar1为保留字段。

        存储过程中,在对tb_XXX表进行重要操作之前,能够先将里面的数据插入(转存)tb_XXX_debuglog表中。在须要查找相关信息或排错的时候,能够非常方便地找到,提高了程序的异常处理能力。

 

2. 一些建议

        (1) 在编写完数据库脚本之后,一定要用checksql等工具对脚本进行检查,能够发现编程中的一些潜在的不足,如索引建立过少、语法有误等。

        (2) 一定要依照公司的规范来对数据库脚本进行命名,不能觉得仅仅要代码写好了,怎么命名无所谓。

        (3) 无论是建表脚本还是创建存储过程的脚本,代码的排版(如缩进、换行、对齐、留空行等)非常重要,要尽量使得自己的代码阅读起来方便。由于我们首先是为人编敲代码,其次才是计算机。

        (4) 当须要在原来的SQL语句中增删字段或做其他改动时,建议先将整段SQL语句凝视掉,然后将改动之后的语句加入�到被删除语句的下方,尽量不要在原语句上直接进行改动,这样方便以后版本号的比較。

        (5) 对于存储过程中的ifelseelse ifwhilebeginend等语句自占一行,运行语句不要紧跟其后,不论其包含的运行语句有多少条,都要加语句块标志beginend,这样方便阅读。

 

        与C/C++/Java等编程语言一样,编写SQL数据库脚本也须要遵循一定的规则。我们不仅要让脚本实现它要完毕的功能,并且要让性能尽量达到最优。“实践出真知”,仅仅有不断地练习和总结,我们的数据库编程能力才会得到提高。

 

 

(本人微博:,微信号:245924426,欢迎关注!)

转载于:https://www.cnblogs.com/hrhguanli/p/3965098.html

你可能感兴趣的文章
linux install ftp server
查看>>
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>
【题解】青蛙的约会
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
安装 Express
查看>>
存储(硬件方面的一些基本术语)
查看>>
观察者模式
查看>>
Weka中数据挖掘与机器学习系列之基本概念(三)
查看>>
leetcode-Sort List
查看>>
中文词频统计
查看>>
Java泛型的基本使用
查看>>
bzoj2038 [2009国家集训队]小Z的袜子(hose)
查看>>
Java反射机制及其Class类浅析
查看>>
Postman-----如何导入和导出
查看>>
移动设备显示尺寸大全 CSS3媒体查询
查看>>
图片等比例缩放及图片上下剧中
查看>>
background-clip,background-origin
查看>>