T-SQL存储过程中try和catch以及错误处理的用法例子
来源:互联网 发布:怪物猎人ol 数据库 编辑:程序博客网 时间:2024/06/07 05:18
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-- =============================================-- Author:<Author,,Name>-- Create date: <Create Date,,>-- Description:<Description,,>-- =============================================ALTER PROCEDURE [dbo].[ImportPlatformParam] -- Add the parameters for the stored procedure here@mOrderID_Source nvarchar(64),@mProjVersion_Source nvarchar(2),@mOrderID_Target nvarchar(64),@mProjVersion_Target nvarchar(2)ASDECLARE @SQLStr nvarchar(4000), @count intBEGIN-- SET NOCOUNT ON added to prevent extra result sets from-- interfering with SELECT statements.SET NOCOUNT ON; -- Insert statements for procedure hereSET XACT_ABORT ON;BEGIN TRYBEGIN TRAN--删除目标平台的平台参数DELETE FROMUDSGKS_ProjPlatformParamMapWHEREOrderID = @mOrderID_Target ANDProjVersion = @mProjVersion_Target--删除目标平台的平台非标点DELETE FROMUDSGKS_ProjNSListWHEREOrderID = @mOrderID_Target ANDProjVersion = @mProjVersion_Target--导入源平台的平台参数到目标平台INSERT INTOUDSGKS_ProjPlatformParamMap(OrderID, ProjVersion, PlatformParamName, PlatformParamValue,PlatformParamDesc, PlatformParamType, FileName)SELECT@mOrderID_Target AS OrderID,@mProjVersion_Target AS ProjVersion,PlatformParamName, PlatformParamValue,PlatformParamDesc, PlatformParamType, FileNameFROMUDSGKS_ProjPlatformParamMapWHEREOrderID = @mOrderID_Source ANDProjVersion = @mProjVersion_Source--导入源平台的非标难度时间到目标平台DELETE FROMUDSGKS_ProjDifficulty WHEREOrderID = @mOrderID_Target ANDProjVersion = @mProjVersion_TargetINSERT INTOUDSGKS_ProjDifficultySELECT@mOrderID_Target AS OrderID, @mProjVersion_Target AS ProjVersion,PDPeriod, PRPeriod, MDPeriod, MRPeriod, LDPeriod, LRPeriodFROMUDSGKS_ProjDifficultyWHEREOrderID = @mOrderID_Source ANDProjVersion = @mProjVersion_Source--导入源平台的平台非标点到目标平台INSERT INTOUDSGKS_ProjNSList(OrderID, ProjVersion, NSID, NSFuncOption, NSRange, SchemaDesc,ModelID, Manner, MaterialDesc, PartID, PartName,PartSchema, MaterialID, DrawID, Remark, Flag, Hours)SELECT@mOrderID_Target AS OrderID,@mProjVersion_Target AS ProjVersion,NSID, NSFuncOption, NSRange, SchemaDesc, ModelID,Manner, MaterialDesc, PartID, PartName, PartSchema,MaterialID, DrawID, Remark, Flag, HoursFROMUDSGKS_ProjNSListWHEREOrderID = @mOrderID_Source ANDProjVersion = @mProjVersion_Source--导入源平台的附言和备注到目标平台UPDATEUDSGKS_PlatformTaskSETPostscripts = T1.Postscripts,Remark = T1.RemarkFROM(SELECT Postscripts,RemarkFROMUDSGKS_PlatformTaskWHEREOrderID = @mOrderID_Source ANDProjVersion = @mProjVersion_Source) AS T1WHEREOrderID = @mOrderID_Target ANDProjVersion = @mProjVersion_TargetCOMMIT TRANEND TRYBEGIN CATCHROLLBACK TRANDECLARE @ErrMsg NVARCHAR(4000), @ErrSeverity INT SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY()RAISERROR (@ErrMsg, @ErrSeverity, 1)END CATCHEND
0 0
- T-SQL存储过程中try和catch以及错误处理的用法例子
- 如何在 SQL Server 的存储过程和函数里进行错误处理(try catch)
- 存储过程中事务try catch 例子
- 【SQL Server学习笔记】存储过程、sp_executesql存储过程、try catch错误处理
- 存储过程、sp_executesql存储过程、try catch错误处理
- javascript 中TRY ..CATCH 处理错误的用法.
- C/C++编程异常处理中try和throw以及catch语句的用法
- 在SQL Server 2005中使用Try…Catch块进行T-SQL错误处理
- 使用Try…Catch块进行T-SQL错误处理
- t-sql - try catch的使用简单例子
- c++中 try 和catch的用法
- 关于JAVA t中try-catch的用法
- SQL SERVER 里的错误处理(try catch)
- SQL SERVER 里的错误处理(try catch)
- swift中错误处理try! ,try?,try catch
- try~Catch语句中异常的处理过程
- try 和 catch 的用法
- try 和 catch 的用法
- TCP,IP,HTTP,SOCKET区别和联系
- mac 10.10.1 安装多个JDK
- Java遍历List集合并删除其中的元素
- C++全局变量工程用法
- Linux下Mysql编码修改为UTF-8
- T-SQL存储过程中try和catch以及错误处理的用法例子
- 柯南君:看大数据时代下的IT架构(1)业界消息队列对比
- 如何让帝国内容循环起来,不会再翻页时遇到"已经是最后页"或者"已经是第一页"的问题
- Java实现WebSocket聊天
- UIView与CALayer的区别
- come on 正则表达式<4>
- Android系统梳理-AndroidManifest.xml文件说明1
- Linux多线程简单例程--四线程写四文件
- python库pycrypto的安装