2 weixin 33714445 weixin_33714445 于 2016.01.25 16:29 提问

sqlserver存储返回值问题

存储中有设定输出参数output,当存储发生异常时,比如插入数据主键冲突,怎么把异常描述传给这个output值,

1个回答

qq_33850804
qq_33850804   2016.01.26 00:04
已采纳

1:在插入之前做判断,然后做插入,写到一个事务中,判断出现异常直接msg返回提示。
2:catch捕获异常之后返回系统的异常,然后自己定义一个返回值把系统抛出的异常内容给自己定义的内容中。返回显示。具体操作就看你自己了,一般建议是插入之前判断。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
sqlserver数据库中有参数有返回值的存储过程
USE [数据库] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================
SqlServer获取存储过程返回值的实例
SqlServer获取存储过程返回值的实例,需要的朋友可以参考一下 1.OUPUT参数返回值 复制代码代码如下: CREATE PROCEDURE [dbo].[nb_order_insert]( @o_buyerid int , @o_id bigint OUTPUT ) AS BEGIN SET NOCOUNT ON; BEGIN
存储过程 返回值 procedure return values
存储过程有三种返回:  1. 用return返回int型数据  2. 用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行)  3. 直接在存储过程中用select返回结果集,可以是任意的select语句,这意味着是任意的返回结果集     例子:1 use tempdb; create procedure test1 as begin if
使用SQL Server存储过程中的返回值的两种方法
//-----方法1CREATE PROC TEST1  @PA1 INT,  @PA2 INTAS  RETURN @PA1+@PA2GODECLARE @PA3 INTEXEC @PA3=TEST1 3,4SELECT @PA3//-----方法2CREATE PROC TEST2  @PA1 INT,  @PA2 INT,  @PA3 INT OUTPUTAS  SET @PA3 =
存储过程获取RecordSet的RecordCount为-1
使用ado直接执行sql,可以通过RecordSet的RecordCount获取结果集的数据量。但是如果是执行存储过程,就无法通过RecordCount来获取数据量信息,需要设置连接对象的CursorLocation为CursorLocationEnum::adUseClient,将结果集中所有数据存储到本地才能获取结果集数据量。但是这样导致本地内存占用很大,所以换一个思路,直接在存储过程中用输出
SQL SERVER 存储过程中SELECT 返回值如何赋值给变量
今天在处理一个问题时,使用到一个存储过程,是用于更新并获取最新ID的。在使用过程中,需要获取到这个ID并赋值给变量,结果用EXEC @ID = 存储过程的方式获取失败了。
关于sql存储过程接收参数为datatable
1.首先你的sql server 必须是2008以上版本; 2.自定义表类型,在类型下面的用户自定表类型下可查看          语法:  create type table_name  as table( 字段),字段部分为创建普通的表一样,如  id  int  3.存储过程引用       create procedure  pro_name( @table ta
SQL Server存储过程中执行动态SQL语句
一、简介      在Sql Server中执行动态sql语句有两种方法:exec和exec sp_executesql。      优缺点: 1、exec sp_executesql提供输入、输出接口,可以在sql语句中进行参数占位;exec则不可以。 2、exec sp_executesql能够重用执行计划,提高了执行效率;exec则不可以。 3、exec sp_executesql更安
SQL中获得EXEC后面的sql语句或者存储过程的返回值的方法
         前言:在数据库程序开发的过程中,我们经常会碰到利用EXEC来执行一段需要返回某些值的sql语句(通常是构造动态sql语句时使用),或者在一个存储过程中利用EXEC调用另一个有返回值的存储过程(必须获得返回值),那么如何获得这些返回值呢?1,EXEC执行sql语句的情况    declare @rsql varchar(250)        declare @csql
SQL存储过程读取另一存储过程返回值(select返回)变通方法
大家知道一般存储过程返回值都用output,但是当我们用select返回时,其他存储过程调用就不能获得其返回的值,这时候我们用变通方法如下:     declare @v_temp table (id varchar(30)) --盘点单号临时表     insert into @v_temp exec Jcp_GetSysBillNo pd         select @v_R