创建带输出参数的存储过程

语法:

create proc 存储过程名

  @参数1 数据类型=默认值 output,

  @参数2 数据类型=默认值 output

as

  sql语句

go

例子:

 1 --创建带输入输出参数的存储过程
 2 /*
 3 题目要求
 4 向母婴用品这个类添加一种商品,要求成功后把商品的编号输出
 5 */
 6
 7 use E_Market
 8 go
 9
10 if exists(select * from sysobjects where name=‘usp_InsertCommodity‘)
11 drop proc usp_InsertCommodity
12 go
13 create proc usp_InsertCommodity
14     @SortName varchar(50),  --类别名称
15     @CommodityName varchar(100),  --商品名称
16     @inprice money,   --进货价
17     @outprice money,  --销售价
18     @Amount int,   --库存liang
19     @CommodityId int output   --商品编号,输出参数
20 as
21     --根据输入的类别名称查询类别编号
22     declare @SortId int
23     select @SortId=SortId from CommoditySort where SortName=@SortName
24     --判断类别名称是否正确,
25     if @SortId is null
26         begin
27             print ‘对不起,输入的类别不存在!‘
28             return  --后面的代码无条件,退出了创建的存储过程
29         end
30     --向商品信息表插入数据
31     insert into CommodityInfo(SortId,CommodityName,InPrice,OutPrice,Amount)
32     values(@SortId,@CommodityName,@inprice,@outprice,@Amount)
33     --判断错误号是否大于0如果大于0说明插入有误
34     if @@ERROR >0
35         begin
36             print ‘插入信息失败!‘
37             return
38         end
39     set @CommodityId=@@IDENTITY
40 go
41
42 --使用带输入输出参数的存储过程
43 --1)声明变量来调用(隐式调用,要求参数的顺序与存储过程参数的定义的顺序相同)
44 declare @sortName varchar(50), @commodityName varchar(100),
45         @inprice money,@outprice money, @amount int, @commodityId int
46 select @sortName=‘母婴用品‘,@commodityName=‘星飞帆1段‘, @inprice=100, @outprice=245,@amount=1000
47 exec usp_InsertCommodity @sortName,@commodityName,@inprice,@outprice,@amount,@commodityId output
48 print‘添加商品成功,商品编号为:‘ + convert(varchar(5), @commodityId)
49 --检测插入的信息
50 select * from CommodityInfo

原文地址:https://www.cnblogs.com/zhangxudong-cnblogs/p/10946058.html

时间: 2024-10-28 11:17:02

创建带输出参数的存储过程的相关文章

创建有输出参数的存储过程并在c#中实现DataGridView分页功能

不足之处,欢迎指正! 创建有输出参数的存储过程 if exists(select * from sysobjects where name='usp_getPage1') drop procedure usp_getPage1 go create procedure usp_getPage1--存储过程名称 @count int output,--输出参数 @countIndex int=1,--参数带默认值 @countPage int=5--参数带默认值 as --一个sql语句.ROW_N

sybase带输出参数的存储过程实例

使用return返回 --create pro USE yfb go create proc cwqi_test_pro(  @newName varchar(20) out,  @oldName varchar(20) in  ) as begin   set @[email protected]   return 1 end --run pro DECLARE @newName varchar(20) DECLARE @oldName varchar(20) DECLARE @result 

c#调用带输出参数的存储过程

sql server中编写一个存储过程: CREATE PROCEDURE ProGetPWD @username varchar(20), @password varchar(20) OUTPUT AS BEGIN SELECT @password = password FROM Users WHERE username = @username END -------------------------- 下面是.NET中调用存储过程的方法: string strConnection = "u

带输出参数的存储过程的定义,以及在aso.net中调用

ALTER proc [dbo].[mp_w_RechargePortalPayPal_All] ( @PayPalOrderNo nvarchar(50), --订单号 @nAccountIDFrom int, --充值帐号 @nAccountIDTo int, --充入帐号 @cTotalMoney numeric(18,2), --总价        用户所在货币总价 @nMoneyType int, --货币类型    用户所在货币类型    -- 非system货币 @nToGameI

EF(ServerFirst)执行存储过程实例1(带输出参数)

1.不含动态sql.带输出参数存储过程调用实例 a.存储过程代码: b.EF自动生成代码(包括对应ObjectResult的实体模型): c.调用存储过程代码实例: 总结: ObjectParameter参数对应输出类型时,不必指定类似Output等 ObjectParameter的命名空间:using System.Data.Objects; ObjectParameter参数的Name是对应存储过程参数字符串去掉@符号,例如存储过程参数‘@Count int output‘,对应Name为”

C#调用Oracle带输出数据集的存储过程

1.创建一个带输出数据集的Oracle存储过程 create or replace procedure PRO_test(in_top in number,cur_out out sys_refcursor) is --查询指定记录条数的数据,并返回总共记录数,返回多个数据集begin open cur_out for SELECT * FROM dept_dict where rownum < in_top;end PRO_test; 2.C#调用 Pu_Sys.GetConnObject c

JdbcTemplate执行带输入参数和输出参数的存储过程

直接上代码: /** * 执行返回一个输出参数,若干输入参数的存储过程 * 方法第一个参数为存储过程名称,第二个参数为存放输入参数的数组(按顺序存放),方法返回值为存储过程输出参数 */ public String execProcedureWithOutParam(final String procName,final String[] inParams){ String returnVal=(String)getJdbcTemplate().execute(new CallableState

sqlserver 存储过程 带输出参数

亲测可用 CREATE PROCEDURE [dbo].[output] @acctNbr varchar(50), --会员卡号 @acctPwd1 nvarchar(50) OUT, --登录密码 @acctPwd2 nvarchar(50) OUT, --支付密码 @acctName nvarchar(50) OUT --会员卡号 as begin select @acctPwd1=AcctPswd1,@acctPwd2=AcctPswd2,@acctName=AcctName from

SQL SERVER 存储过程执行带输出参数的SQL语句拼接

注意:定义的要执行的SQL语句必须是nvarchar类型 CREATE PROC P_BranchOrderSalesStatistics @beginTime DateTime, --开始时间 @endTime DateTime, --结束时间 @branchCode varchar(20), --门店编码 @NewMemberCount int out, -- 新会员数量 @OrderCount int out, --订单数量 @SalesTotalPrice decimal(18,2) o