精华内容
下载资源
问答
  • 创建带输入参数存储过程

    千次阅读 2019-05-28 22:59:00
    创建带输入参数存储过程 语法 create proc[edure] 存储过程名  @参数1 数据类型=默认值,  ……  @参数n 数据类型=默认值 as  sql语句 go --必须要加批处理的go 例子: 1 --创建带输入参数的...

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

    语法

    create proc[edure] 存储过程名

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

      ……

      @参数n 数据类型=默认值

     

    as

      sql语句

    go     --必须要加批处理的go

    例子:

     1 --创建带输入参数的存储过程
     2 /*
     3     题目:查询指定的用户在指定的时间段内的下单信息,
     4     如果结束日期没有指的话,那么查询的是到今天为止的下单信息
     5 */
     6 use E_Market
     7 go 
     8 if exists (select * from sysobjects where name='usp_GetOrderInfo')
     9 drop proc usp_GetOrderInfo
    10 go
    11 create proc usp_GetOrderInfo
    12     @startDate datetime,   --开始时间
    13     @endDate datetime=null,   --结束时间
    14     @userId varchar(20)=null  --指定的用户
    15 as
    16     if @endDate is null    --判断结束日期是否为空
    17         begin
    18             set @endDate=GETDATE()   --赋值当前日期
    19         end
    20 
    21     if @userId is null  --查询指定时间段内的所有订单信息
    22         begin
    23             select O.UserId as 用户号, PayWay as 付款方式, O.Amount as 购买数量,C.CommodityName as 商品名称,
    24                 S.SortName as 类别名称, O.OrderTime as 下单时间 from OrderInfo as O 
    25                  inner join CommodityInfo as C on O.CommodityId=C.CommodityId
    26                  inner join CommoditySort as S on C.SortId=S.SortId
    27                     where  O.OrderTime between @startDate and @endDate
    28         end
    29 
    30     else  --查询指定用户指定时间段内的所有订单信息
    31         begin 
    32             select O.UserId as 用户号, PayWay as 付款方式, O.Amount as 购买数量,C.CommodityName as 商品名称,
    33             S.SortName as 类别名称, O.OrderTime as 下单时间 from OrderInfo as O 
    34              inner join CommodityInfo as C on O.CommodityId=C.CommodityId
    35              inner join CommoditySort as S on C.SortId=S.SortId
    36              where O.UserId=@userId and O.OrderTime between @startDate and @endDate
    37         end
    38 go
    39 
    40 --如何使用带参数的存储过程
    41 --1)结束日期与用户都使用默认值
    42 --只指定了开始时间,查询的是从开始时间到今天的所有订单信息
    43 exec usp_GetOrderInfo '2014-11-1'
    44 
    45 --2)结束日期不为空,从开始时间到结束时间的所有订单信息
    46 --隐式调用,参数的顺序必须与创建存储过程的参数顺序完全相同
    47 exec usp_GetOrderInfo '2014-11-1', '2014-11-12','xiangxiang'
    48 
    49 --3)显示调用
    50 --显示调用对参数顺序无要求,如果参数中一个写"@名称=值"的形式,之后的参数都必须写成"@名称=值"的形式,默认值可以使用default代替
    51 exec usp_GetOrderInfo @UserId='xiangxiang',@startDate='2014-11-1',@endDate=default
    52 
    53 
    54 --4)可以通过声明变量来调用
    55 declare @d1 datetime,@d2 datetime, @uid varchar(20)
    56 set @d1='2014-11-1'
    57 set @d2='2014-12-1'
    58 set @uid='xiangxiang'
    59 exec usp_GetOrderInfo @d1,@d2,@uid
    60 --除了显示调用外,要求参数位置必须与存储过程定义时顺序相同

     

    转载于:https://www.cnblogs.com/zhangxudong-cnblogs/p/10940966.html

    展开全文
  • 创建带输出参数存储过程 语法: create proc 存储过程名 ... 1 --创建带输入输出参数存储过程 2 /* 3 题目要求 4 向母婴用品这个类添加一种商品,要求成功后把商品的编号输出 5 */ 6 7 ...

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

    语法:

    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

    展开全文
  • 如何创建带参数存储过程

    万次阅读 2013-05-07 08:27:24
     创建带参数存储过程首先要在存储过程中声明该参数,每个存储过程参数都必须用唯一的名称进行定义。与T-SQL变量相同,参数名必须以@为前缀,并且遵从标识符规则。当用户不提供该参数的值时可以使用一个默认值来...

      一、 创建带参数的存储过程

          创建带参数的存储过程首先要在存储过程中声明该参数,每个存储过程参数都必须用唯一的名称进行定义。与T-SQL变量相同,参数名必须以@为前缀,并且遵从标识符规则。当用户不提供该参数的值时可以使用一个默认值来代替。

        1.不带默认值的参数

         创建一个参数不带默认值的存储过程,在调用该存储过程时,必须对存储过程中的所有参数进行赋值,如果有一个参数没有赋值,则无法调用该存储过程。例如:

         

    use db_student
    --创建存储过程
    create procedure proc_group
    @课程类别 varchar(20),  --定义参数
    @学分 int 
    as 
    select * from course
    where 课程类别=@课程类别 and 学分>@学分
    执行不带参数的存储过程就是:

    use db_student
    exec proc_group '歌曲',8
    如果不按顺序赋值可以写成:

    use db_student
    exec proc_group @学分=8,@课程类别=‘篮球课’
    2.带默认值的参数

      在SQL中我们可以对字段进行默认值的约束,在存储过程中也可以建立使用默认值的参数。只要在参数的定义之后加上等号,并在等号后面写出默认值即可。

    --创建存储过程
    use db_student
    create procedure proc_group
    @课程类别 varchar(20)='体育课',
    @学分 int=6
    as 
    select * from course where 课程类别=@课程类别 and 学分>@学分
    执行参数带默认值的存储过程

    use db_student
    exec proc_group @学分=8

    3.带返回参数的存储过程

    创建存储过程时,可以用output参数来创建一个带返回值的存储过程,例如:
     

    @a int output
    如果创建带返回参数的存储过程proc_group,那么SQL语句如下:

    --创建带返回值的存储过程
    create procedure proc_group
    @课程类别 carchar(20),
    @平均学分 int output         --设置带返回值的参数
    as 
    select @平均学分=avg(学分) from course where 课程类别=@课程类别
    





    展开全文
  • CREATE PROC [EDURE] 存储过程名 @参数1 数据类型 @参数2 数据类型 ……….. AS SQL语句 GO --必须要加上批处理的GO 如: 循环输出ILOVEYOU 用户来控制次数  Create proc ILOVEYOU @a int ...
    语法
    
    CREATE PROC [EDURE] 存储过程名
    @参数1   数据类型
    @参数2   数据类型
    ………..
    AS 
                SQL语句
    GO                   --必须要加上批处理的GO
    如:
        循环输出ILOVEYOU 用户来控制次数
     Create proc ILOVEYOU
        @a int
        As
     Declare @i int
    Set @i=1
    Begin
    While(@i<=@a)        --@i<=用户输入的次数
    Set @i=@i+1
    Print’ILOVEYOU’+convert(verchar(10),@i)      --显示iloveyou的同时显示当前的行数
    End
    调用的时候注意
                EXEC 过程名  ‘@参数1’  列:exec  LOVEYOU  100
    也可以给参数@a加默认值@a int=3 默认打印3次 调用的时候可以写default
    如果用户调用存储过程的时候参数@a不写的情况下就直接打印3次我爱你

     

    转载于:https://www.cnblogs.com/xiaowie/p/8676003.html

    展开全文
  • 输入参数存储过程

    千次阅读 2015-08-08 23:12:57
    创建带输入参数存储过程: drop procedure if exists proc_user_in; delimiter // create procedure proc_user_in(in a int) begin select * from user where userid > a; end// delimiter ;以上代码即在当前...
  • create procedure proc_user @name varchar(20), @Password varchar(100) as select * from loginuser ...—创建一个有输入和输出参数存储过程 create procedure proc_usertext @name varchar(20), @blog varchar...
  • ---根据编号来查询出学生的其他信息,带输入输出参数 if(exists(select * from sys.objects where name = 'proc_getStudentOtherInfoBySid')) //判断当前数据库中是否存在这个存储过程  drop proc p
  • 存储过程 输入输出参数

    千次阅读 2019-01-03 10:27:38
    3种调用初步学习 /** 存储过程测试 **/ -- 查看数据库下的所有存储过程 ...-- *****************创建输入参数 DELIMITER $$ DROP PROCEDURE IF EXISTS`test_procedure` $$ CREATE PROCEDU...
  • 输入输出参数存储过程

    千次阅读 2015-08-09 00:04:03
    创建带输入输出参数存储过程: drop procedure if exists proc_user_inout; delimiter // create procedure proc_user_inout(inout inout_param int) begin select count(*) into inout_param from user where ...
  • 一:下面介绍有输出参数和返回值的存储过程创建方法 1,创建存储过程 create proc p5 @cno char(10),@ccredit decimal (5,1) output as begin if exist (select * from course where c_no=@cno) update ...
  • Oracle带输入输出参数存储过程

    千次阅读 2018-05-18 09:53:00
    (一)使用输入参数 需求:在emp_copy中添加一条记录,empno为已有empno的...创建存储过程: create or replace procedure insert_emp(emp_name in varchar2, dept_no in number) as begin declare max_emp...
  • 创建一个带参数存储过程,名字为“teacherproc”,当输入任意一个“老师名字”时,该存储过程输出该系所有教师的编号,姓名,性别
  • if exists (select * from sysobjects where name = proc_stu)drop proc proc_stugocreate proc proc_stu @writtenPass int = 60,----输入参数,笔试及格线 @LabPass int = 60 ---- 输入参
  • c#调用Mysql带参数存储过程

    千次阅读 2015-09-14 15:42:31
    1.首先创建一个带参数存储过程存储过程名称=proc_bookinfo 存储过程2个参数 一个in 一个out in参数名称=ispay out参数名称=unPaycount这个存储过程 根据传入的未支付字段名称 输出未支付的商品数量DELI
  • --存储过程 存储过程+包 包+包体...无参数存储过程create or replace procedure sp_emp_proc as--声明语句段v_name varchar2(200);begin--执行语句段 select ename into v_name from emp where empno=7788; db...
  • C#调用带输入输出参数存储过程

    千次阅读 2012-05-16 13:43:04
    //调用存储过程执行类似于 2//select count(*) from userinfo where username=username and pwd=pwd and grade=grade 3//接受 3个参数分别用来表示用户名、用户密码、用户权限 4public bool GetUserinfo(string ...
  • create proc pro_count @name char(10), @count int as select @count = count(*) from [user] 执行储存过程 -- 需要传入两个参数,char 类型的name,int 类型的couont -- 最后select 数据输出@count declare @...
  • 存储过程输出参数:C#中调用输入输出参数存储过程本文转自互联网 有关存储过程的介绍大家想必也不陌生了吧,大家可以参考《浅谈存储过程》一文。这里不做介绍。 今天要介绍的是在C#里如何调用带输入输出参数的...
  • mysql 有无参数存储过程

    千次阅读 2016-11-10 20:09:05
    SQL中调用存储过程语句:call procedure_name();注:调用时”()”是不可少的,无论是有参数还是无参数.定义对数据库存储过程的调用时...表示输入参数创建存储过程时用in表示输入参数 3、仅有输出参数的存储过程:{cal
  • 创建存储过程

    2016-06-15 15:44:30
    创建存储过程
  • 今天要介绍的是在C#里如何调用带输入输出参数存储过程。譬如实现简单的登陆功能,根据用户输入的用户名、用户密码及 关于存储过程的介绍大家想必也不陌生了吧。大家可以参考《浅谈存储过程》一文,这里不做介绍...
  • //创建数据库:(Student)//创建用户表:(Users)use Studentgocreate table Users (id int identity(1, 1) primary key,name nvarchar(20) not null,password nvarchar...带输入参数存储过程create procedure proc_l
  • 说明:proc_one、proc_two、proc_three用来模拟三个procedure,proc_main用来通过动态调用前面三个过 ...在proc_main中输入一个参数,在proc_one/two/three中处理后返回到proc_main中。下面是code
  • c#调用输入输出参数存储过程示例

    千次阅读 2009-10-28 16:59:00
    今天要介绍的是在C#里如何调用输入输出参数的存储过程。譬如实现简单的登陆功能,根据用户输入的用户名、用户密码及用户权限实现登陆。这里充当输入参数的有:用户名、用户密码、登陆权限。充当输出参数的就是在...
  • ORACLE存储过程

    万次阅读 多人点赞 2018-11-02 18:14:48
    oracle存储过程 目录 一.什么是存储过程 二.为什么要写存储过程 三.存储过程基础 1.存储过程结构 2.存储过程语法 3.pl/sql处理存储过程 四.存储过程进阶 1.BUIK COLLECT 2.FORALL 3.pl/sql调试存储过程 ...
  • 有输出参数存储过程

    千次阅读 2015-08-08 23:36:33
    创建带有输出参数存储过程: drop procedure if exists proc_user_out; delimiter // create procedure proc_user_out(out name varchar(20)) begin select username into name from user where userid=2; end // ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,531
精华内容 17,812
关键字:

创建带输入参数的存储过程proc