USE [DLPtro]
GO
/****** Object: StoredProcedure [dbo].[Pr_Area_Insert] Script Date: 11/17/2013 20:29:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- 作者: test
-- 建立时间: 2000年5月11日 10:50
-- 功能描述: 添加地区信息
-- =============================================
ALTER PROCEDURE [dbo].[Pr_Area_Insert]
--参数
@ErrorCode Varchar(1) Output ,
@Area_ID int Output,
@Area_Name varchar(30),
@Area_Parent_ID int,
@Area_Encoding varchar(30),
@Area_AreaLevel_ID int,
@Area_Remark varchar(500),
@Area_State int
AS
--判断将要插入的数据是否一次存在数据库中
IF NOT EXISTS (SELECT * FROM B_Area WHERE Area_Name = @Area_Name and Area_State = 1)
BEGIN
--在数据库中不存在,插入数据,启动事务
BEGIN TRANSACTION
--启动错误处理机制
BEGIN TRY
--插入数据
INSERT INTO B_Area
(
Area_Name
,Area_ParentID
,Area_Encoding
,Area_AreaLevel_ID
,Area_Remark
,Area_State
)
VALUES
(
@Area_Name
,@Area_Parent_ID
,@Area_Encoding
,@Area_AreaLevel_ID
,@Area_Remark
,@Area_State
)
END TRY
BEGIN CATCH
--插入时系统出错,事务回滚
ROLLBACK TRANSACTION
SELECT @ErrorCode = 'R'
RETURN 0;
END CATCH
--插入数据成功,提交事务
COMMIT TRANSACTION
--返回当前插入的ID
SELECT @Area_ID = SCOPE_IDENTITY()
SELECT @ErrorCode = 'S'
RETURN 1;
END
ELSE
BEGIN
--在数据库中存在,重复数据
SELECT @ErrorCode = 'E'
END