存储过程很好用,但是阅读困难,不如C#代码阅读起来省劲。
以下是我总结的存储过程的编码规范,以待商榷。
存储过程的命名:
模块名称_存储过程名称_Proc
例如:Job_AddJob_Proc
存储过程命名中不允许应用拼音。
注释:
/*
功能:功能描述
作者:Xumr
创建日期:2007-02-26
修改日期:2007-02-27 xumr 添加了对名称唯一性的限制。
返回值:
---1:具体含义
---2:具体含义
...
---其他: 具体含义
[如果在本存储过程中调用到其他存储过程]
调用到的存储过程:
---1:Job_IsExist_Proc
...
[如果被其他存储过程引用]
应用该存储过程的存储过程:
---1:Job_ManageJob_Proc
思路:
---1:首先判断名称是否为空
---2:其次...
*/
CREATE proc Job_AddJob_Prc
-- 参数含义
@parm1 AS Varchar(100),
-- 参数含义
@parm2 AS Varchar(50),
-- 参数含义
@parm3 AS Varchar(50),
-- 参数含义
@parm4 AS Int
AS
二,CREATE PROCEDURE dbo.p_my_DocumentAdd
(
@DocumentID AS char(10) out,
@Title AS VarChar(100),
@Comment AS Text,
@Hits AS Int,
@Type AS VarChar(20),
@Gender AS TinyInt
)
AS
BEGIN
BEGIN TRAN--开始事务
--生成主键
exec p_my_GetTableNextID 'Document','D',10,@DocumentID output //没有定义主键时生成主键
INSERT INTO Document (
DocumentID,
Title,
Comment,
Hits,
Type,
Gender)
VALUES(
@DocumentID,
@Title,
@Comment,
@Hits,
@Type,
@Gender)
--出错处理
IF (@@error!=0)
BEGIN
RAISERROR 20000 'p_my_DocumentAdd: Cannot insert data into p_my_DocumentAdd '--向应用程序抛出错误
ROLLBACK TRAN--回滚事务
Return (1)--设置返回值
End
COMMIT TRAN--如果没有错误则提交事务
END
以下是我总结的存储过程的编码规范,以待商榷。
存储过程的命名:
模块名称_存储过程名称_Proc
例如:Job_AddJob_Proc
存储过程命名中不允许应用拼音。
注释:
/*
功能:功能描述
作者:Xumr
创建日期:2007-02-26
修改日期:2007-02-27 xumr 添加了对名称唯一性的限制。
返回值:
---1:具体含义
---2:具体含义
...
---其他: 具体含义
[如果在本存储过程中调用到其他存储过程]
调用到的存储过程:
---1:Job_IsExist_Proc
...
[如果被其他存储过程引用]
应用该存储过程的存储过程:
---1:Job_ManageJob_Proc
思路:
---1:首先判断名称是否为空
---2:其次...
*/
CREATE proc Job_AddJob_Prc
-- 参数含义
@parm1 AS Varchar(100),
-- 参数含义
@parm2 AS Varchar(50),
-- 参数含义
@parm3 AS Varchar(50),
-- 参数含义
@parm4 AS Int
AS
二,CREATE PROCEDURE dbo.p_my_DocumentAdd
(
@DocumentID AS char(10) out,
@Title AS VarChar(100),
@Comment AS Text,
@Hits AS Int,
@Type AS VarChar(20),
@Gender AS TinyInt
)
AS
BEGIN
BEGIN TRAN--开始事务
--生成主键
exec p_my_GetTableNextID 'Document','D',10,@DocumentID output //没有定义主键时生成主键
INSERT INTO Document (
DocumentID,
Title,
Comment,
Hits,
Type,
Gender)
VALUES(
@DocumentID,
@Title,
@Comment,
@Hits,
@Type,
@Gender)
--出错处理
IF (@@error!=0)
BEGIN
RAISERROR 20000 'p_my_DocumentAdd: Cannot insert data into p_my_DocumentAdd '--向应用程序抛出错误
ROLLBACK TRAN--回滚事务
Return (1)--设置返回值
End
COMMIT TRAN--如果没有错误则提交事务
END