標籤:提高 預存程序 tar rac cti name sts example div
第2部分 資料庫SQL語言
資料庫指令碼檔案的布局
“沒有規矩。不成方圓”,規範資料庫指令碼檔案的代碼布局具有下面重要意義:
(1) 可表現出代碼良好的邏輯結構。提高代碼的準確性、連續性、可讀性及可維護性。
(2) 有利於提高產品的開發品質和效率,並減少開發成本。
(3) 對於開發人員來說。養成良好的指令碼編寫習慣有助於提高個人的資料庫指令碼編程水平。進而提高指令碼編程效率。
可見,統一的、良好的指令碼代碼布局和風格不不過個人主觀美學或形式上的問題,並且影響到產品的品質,並涉及到自身指令碼編程能力的提高。
1. 指令碼布局順序概述
在實際的軟體開發項目中,統一規範指令碼布局順序可方便對代碼的閱讀。利於興許的維護及測試改動。
可採用下面兩種方式來布局指令檔內容:
方式一:
檔案頭
初始化
使用者及訪問許可權的建立
資料表的建立
預存程序的建立
資料庫任務的建立
結束
方式二:
檔案頭
初始化
資料表的建立
預存程序的建立
資料庫任務的建立
使用者及訪問許可權的建立
結束
注意:
(1) 一個普通的指令檔包括了方式一和方式二中的7個部分。為了便於區分和閱讀,各個部分要使用凝視塊隔離開來(凝視符使用“--”)。
(2) “使用者及訪問許可權的建立”能夠放在第三部分,也能夠放在第六部分。
(3) 各部分前統一使用標註說明。相關內容必須寫在相應部分,假設相關內容為空白,也必須保留該部分的標註說明。
2. 指令碼布局示範範例
採用方式一。基於Sybase資料庫實現的指令碼代碼示比例如以下:
--*********************************************************************
--著作權全部 (C)2014, Zhou Zhaoxiong。
--資料庫版本號碼: Sybase ASE Enterprise 15.0
--內容摘要:指令檔布局示範範例
--作 者: Zhou Zhaoxiong
--完畢日期: 20140616
--改動記錄1:
-- 改動日期:
-- 版本號碼號:
-- 改動人:
-- 改動內容:
--**********************************************************************/
--**************************************************
-- initialization 初始化
--**************************************************
use master
go
use xxx -- 要使用的資料庫
go
checkpoint
go
dump tran xxx with no_log -- 日誌截斷處理
go
--************************************************************
-- user and right creation使用者及許可權的建立
--************************************************************
exec sp_addalias xxx, dbo
go
--***********************************************************************
-- table creation 資料表的建立
--***********************************************************************
--範例表tb_example
if exists(select 1 from sysobjects where id = object_id(‘tb_example‘))
begin
drop table tb_example
end
go
create table tb_example
(
name varchar(30) not null, --名字
age int not null --年齡
)
go
--建立索引
create index idx_tb_example1 on tb_example(name)
go
--************************************************************
-- procedure creation 預存程序的建立
--************************************************************
--資訊查詢預存程序pr_selectinfo
--輸入參數:@v_name姓名。@v_age 年齡
--輸出參數:無
if exists (select 1 from sysobjects where id = object_id(‘pr_selectinfo‘))
begin
drop procedure pr_selectinfo
end
go
create procedure pr_selectinfo
@v_name varchar(30), --姓名
@v_age int --年齡
as
begin
......
end
go
print ‘create procedure pr_selectinfo ok‘
go
--**************************************************
-- task creation 資料庫任務的建立
--**************************************************
……
--**************************************************
-- finalization 結束
--**************************************************
……
在實際的軟體項目中。對指令檔的布局都有其嚴格的規定,開發人員須要遵照編程規範來書寫指令碼代碼。這不僅有利於對代碼的閱讀和改動,也有利於團隊的技術交流與共用。
(本人微博:http://weibo.com/zhouzxi?
topnav=1&wvr=5。號:245924426。歡迎關注!)
讓你提前認識軟體開發(29):資料庫指令碼檔案的布局