• SQL server从入门精通---- T-sql基本语句+函数与存储过程


    -----------------T_SQL------------------------------
    --1.全局变量-------------------------------------
    print @@identity --最后一次插入的标识值
    print @@language --当前使用语言
    print @@version --版本号
    print @@servername--服务名
    
    --2.自定义变量
        ----1.声明用declare
            declare @i int,@j int
            declare @sum int
        ----2.赋值set,select
            set @i=10
            select @j=20
            --把i与j的值加起来,并打印
            set @sum=@i+@j
            print @sum
            --把最低分查找出来,打印 
    
    
    ------while 循环语句
    declare @stat int,@end int,@count int
    set @end=10
    set @count=0
    set @stat=0
    while(@stat<=@end)
    begin 
        --里面可以执行任何语句
        set @count=@stat+@count
        set @stat=@stat+1
        insert into t_buyer(baid) values(@count)
    end
    print @count
    
    ------------定时命令------------------
    
    waitfor delay '00:00:3'--延时3秒执行
    print '3..2..1 go!'
    Select CONVERT(varchar(100), GETDATE(), 24)
    waitfor time '11:40:56'      --10:57:47    --到时执行
    print 'hell0!'
    
    
    
    -------case语句
    
    --用法1
    select case when len(bquertion)>0 then '有值' 
                    else '没值' end,* from t_buyer
    
    select * ,等级=case
            when score>80 then '优秀'
            when score>=60 then '良好'
            else '不及格' 
            end
    from Grade
    
    --用法二
    select *,称呼=case sex when '' then '大帅哥'
                           else '小美女' end
    
    
    
    ---函数
    create function fn_Sum
    (---参数列表
        @aa int ,
        @bb int
    )
    returns int --指定返回类型
    as 
    begin
    --方法体
        declare @s int
        set @s=@aa+@bb
        return @s
    end
    
    declare @x int 
    set @x =dbo.fn_Sum(10,20)
    print @x
    
    
    -------------------动态执行-------------------
    declare @sql varchar(400)
    set @sql='select * from student'
    -----将字符串当做sql server 中的语句来执行
    exec(@sql)-------只要@sql中的语句符合sql的语法就可以
    
    
    --存储过程
    --无参存储过程
    create proc up_print
    as
    print 1
    go
    --带参函数
    create proc up_print1  --(在sql中存储过程不能同名)
    @str nvarchar(20)
    as
     print @str
    go
    exec up_print
    exec up_print1 '你好啊'
    
    
    --带输出参数的存储过程
    create procedure up_print2
    @xing nvarchar(1),
    @ming nvarchar(5),
    @rtn nvarchar(6) output
    as
    set @rtn=@xing+@ming
    go
    
    declare @rtn nvarchar(6)
    exec up_print2 '','',@rtn output
    print @rtn
    
    
    
    ----写一个新增学生的存数过程up_insertStu   
    if (OBJECT_ID('up_insertStu','p'))is not null
    drop proc up_insertStu
    go
    create proc up_insertStu
        @stuname varchar(20),
        @sex varchar(2),
        @stuno varchar(40),
        @birthday datetime,
        @remark text
        
    as
    begin try
        declare @id int
        --1.插入数据
        insert into student values(@stuname,@sex,@stuno,@birthday,@remark)
        --2.为刚才这个的、学生添加一个英语随机分数
        set @id =@@IDENTITY   
        insert into grade values('英语',RAND()*100,@id)
    end try
    begin catch
        print '执行出错,违反约束,错误号:'+convert(varchar,@@error)
    end catch
    go
    
    ---------------------------------调用----------------------------------
    exec up_insertStu '涛涛','','2014140208','1991-1-1',''
  • 相关阅读:
    JQuery判断CheckBox是否选中
    Ghost下的gho镜像分区工具
    JQuery提示$(...).on is not a function解决方法
    Jetty错误: badMessage: java.lang.IllegalStateException: too much data after closed for HttpChannelOverHttp@472adad9{r=2,c=false,a=IDLE,uri=}
    Linux下使用Shell过滤重复文本(转)
    JQuery给动态HTML绑定事件
    Chrome插件在页面上直接绑定JavaScript事件提示Refused to execute inline event handler because it violates the following Co
    解决——》java.lang.IllegalArgumentException: Body parameter 0 was null
    qhclass
    java类uuid源码分析
  • 原文地址:https://www.cnblogs.com/CodeTaotao/p/4811963.html
Copyright © 2020-2023  润新知