sql之更新
来源:互联网 发布:帮忙砍价是什么软件 编辑:程序博客网 时间:2024/05/24 11:14
USE [DLPtro]
GO
/****** Object: StoredProcedure [dbo].[Pr_Area_Update] Script Date: 11/17/2003 20:40:31 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- 作者: 李海波
-- 建立时间: 2000年5月11日 11:06
-- 功能描述: 更新指定ID的地区信息
-- =============================================
ALTER PROCEDURE [dbo].[Pr_Area_Update]
--参数
@ErrorCode Varchar(1) Output ,
@Area_ID int,
@Area_Name varchar(30),
@Area_Parent_ID int,
@Area_Encoding varchar(30),
@Area_AreaLevel_ID int,
@Area_Remark varchar(500),
@Area_State int,
@Area_Timestamp timestamp Output
AS
--判断需要更新的ID是否存在
IF EXISTS (SELECT * FROM B_Area WHERE Area_ID = @Area_ID and Area_State = 1)
BEGIN
--判断需要名称是否已经使用
IF NOT EXISTS(SELECT * FROM B_Area WHERE Area_ID <> @Area_ID AND Area_Name = @Area_Name and Area_State = 1)
BEGIN
--判断是否当前时间戳
IF EXISTS(select * FROM B_Area WHERE Area_ID = @Area_ID and Area_Timestamp=@Area_Timestamp)
BEGIN
--启动事务
BEGIN TRANSACTION
--使用错误处理机制
BEGIN TRY
UPDATE B_Area
SET
Area_Name=@Area_Name
, Area_ParentID = @Area_Parent_ID
, Area_Encoding = @Area_Encoding
, Area_AreaLevel_ID = @Area_AreaLevel_ID
, Area_Remark = @Area_Remark
, Area_State = @Area_State
WHERE Area_ID = @Area_ID
END TRY
--处理错误
BEGIN CATCH
--回滚数据
ROLLBACK TRANSACTION
SELECT @ErrorCode = 'R'
RETURN 0
END CATCH
--Z执行成功 提交事务
COMMIT TRANSACTION
SELECT @ErrorCode = 'S'
RETURN 1
END
ELSE
BEGIN
select @ErrorCode='Y' --当前值正在修改
RETURN 4
END
END
--当前名称已经使用
ELSE
BEGIN
SELECT @ErrorCode = 'C'
RETURN 3
END
END
--当前ID在数据库中不存在
ELSE
BEGIN
SELECT @ErrorCode = 'N'
RETURN 2
END
- sql之更新
- Linq to SQL之更新
- Biztalk 开发之 更新SQL Server数据库
- SQL之插入、更新与删除
- 【数据库】SQL更新数据之增删改
- SQL之更新操作及事务控制
- SQL 学习之 更新和删除数据
- SQL之merge into 批量更新数据
- sql更新
- SQL更新
- SQL 更新
- Ms Sql 触发器之 ------ 简单更新 Insert 中的记录
- Ms Sql 触发器之 ------ 简单更新 Insert 中的记录
- SQL数据库基础之级联删除和级联更新
- sql语言之数据与视图的更新、删除
- JDBC(二) 执行SQL 之Statement及通用更新方法
- sql sever数据库学习之-----数据更新与删除
- SQL之批量更新select出来的数据
- oracle之高级查询、子查询
- AtomicInteger简介
- HTTP协议请求
- win上eclipse链接hadoop集群
- java.io.file的绝对路径和相对路径
- sql之更新
- winxp死亡倒计时,大家快安装使用汉澳sinox!
- 数据中心的分布式UPS系统
- 安卓Android手机使用GoAgent设置教程
- Apache如何添加虚拟目录
- mr中对于key value组合的特殊处理
- JVM学习笔记(一)------基本结构
- java中的匿名内部类总结
- linux tar命令