zoukankan      html  css  js  c++  java
  • 数据库存储过程及变量的使用

    -定义变量 declare @sum int --变量赋值 set @sum=1 select @sum=3 --变量使用 print @sum declare @string varchar(20) set @string='abcdef' set @string=substring(@string,3,1) print @string --全局变量 print @@error print @@rowcount -- declare @pi decimal(18,2),@r decimal(18,2),@area decimal(18,2) set @pi=3.14 set @r=2 set @area=@pi*@r*@r print @area

    --语句 declare @k int set @k=7 if @k>0 begin  if @k>=10  begin   print'这是一个两位数'  end  else  begin   print '这是一个一位数'  end end else if @k=0 begin  print '数为0' end else begin  print '这是一个负数' end

    ---判断是否闰年 declare @year int set @year=2200 if @year%4=0 and @year%100!=0 begin  print '是闰年' end else if @year%100=0 and @year%400=0 begin  print '是闰年' end else begin  print '不是闰年' end -----判断是否是一元二次方程 declare @a int,@b int,@c int,@x1 decimal(18,2),@x2 decimal(18,2) set @a=1 set @b=5 set @c=4 if @a=0 begin  print '不是一元二次方程,因为a=0' end else begin  declare @sqrt decimal(18,2)  set @sqrt=@b*@b-4*@a*@c  if @sqrt<0  begin   print '此方程无解,因为sqrt小于0'  end   else if @sqrt=0  begin   set @x1 = (-@b+SQRT(@sqrt))/(2*@a)   print '有两个相等的根,结果为'+cast(@x1 as varchar(20))  end  else  begin   set @x1 = (-@b+SQRT(@sqrt))/(2*@a)   set @x2 = (-@b-SQRT(@sqrt))/(2*@a)   print '有两个不相等的根,结果为x1='+cast(@x1 as varchar(20))+'x2='+cast(@x2 as varchar(20))  end end

    ---存储过程 alter proc ChaXun as begin  select *from Score end go --执行 exec chaxun --删除 drop proc chaxun

    --输入参数的存储过程 alter proc jiayibai @shuru int, @canshu int as begin  print @shuru+@canshu end go exec jiayibai 10,120 --是否闰年 create proc isRunNian @year int as begin  if @year%4=0 and @year%100!=0  begin   print '是闰年'  end  else if @year%100=0 and @year%400=0  begin   print '是闰年'  end  else  begin   print '不是闰年'  end end go declare @jieguo int exec @jieguo=isRunNian 2100 print @jieguo

    ----一元二次方程存储过程 alter proc yiyuanerci @a int, @b int, @c int as begin  if @a=0  begin   --print '不是一元二次方程'   return 1  end  else  begin   declare @sqrt decimal(18,2)   set @sqrt = @b*@b-4*@a*@c   if @sqrt>0   begin    --print '两个不同的根'    return 2   end   else if @sqrt=0   begin    --print '两个相同的根'    return 3   end   else   begin    --print '无解'    return 4   end  end end go declare @fanhui int exec @fanhui = yiyuanerci 0,4,3 if @fanhui=1 print '请仔细阅读一元二次方程的构造规则' --out输出参数 alter proc outzhi @shuru int, @jiashi int output, @jiaershi int output as begin  set @jiashi=@shuru+10  set @jiaershi=@shuru+20  return 1 end go declare @shuchu1 int,@shuchu2 int,@return int exec @return=outzhi 15,@shuchu1 output,@shuchu2 output print @shuchu1 print @shuchu2 print @return

  • 相关阅读:
    李彦宏最新演讲:移动互联网的时代已经结束了
    表值函数 详解
    SQL中PIVOT 行列转换
    将WeX5部署到自己的Tomcat服务器上
    Cordova webapp实战开发:(2)认识一下Cordova
    Cordova webapp实战开发:(1)为什么选择 Cordova webapp?
    甲有5套房,不上班,靠收房租生活;乙有1套房,上班赚工资……(启示)
    Ubuntu 16.04下为Android编译OpenCV 3.1.0 Manager
    Dual Camera Info
    OpenCV 3.1
  • 原文地址:https://www.cnblogs.com/577521a/p/4149376.html
Copyright © 2011-2022 走看看