• SQL Server基础操作(此随笔仅作为本人学习进度记录六 !--程序块和循环)


    declare @test_Var int \声明变量用declare,声明局部变量用@符号,变量的数据类型为整型int。
    (声明)
    set @test_Var=1000    \为此变量赋值,赋值为1000。
    
    select @test_Var      \用select 语句进行显示此变量的值。
    
    
          变量的声明以及赋值显示
    
    局部变量:就是用户自定义的变量,作用范围仅在程序内部,在程序执行过程中暂存的变量的值,也可以存储从表或视图中查询出来的结果。局部变量在命名过程中必须以@开头
    
    全局变量:
    
    声明变量:声明变量用Declare,可以声明一个变量,也可以声明多个变量,声明多个变量的时候中间应该用逗号隔开。declare @test_Var int,@test_Var2 char(60)
    
    
         
          变量的赋值
    
    Set :单一一个变量赋值
    
    select:同时为多个变量赋值   select @test_Var=2000,@test_Var2='高级数据库管理'
    
    
        输出(变量的显示)
    
    Print:  单独显示其中一个变量
    
    Select:  同时显示多个变量
    
       
                    全局变量
    
    全局变量、注释、常用的运算符
    
    全局变量是SQL server系统内部所使用的变量,与局部变量不同的是,局部变量只对当前程序起作用,它的作用范围不限于某个程序,
    
    而是任何程序均可调用,由SQLserver所维护的,也无需声明它,通常情况下此变量存储一些SQLserver的配置设定值和效能统计数据,可以用全局变量来测试系统的设定值或T-SQL命令执行后的状态。
    
    全局变量利用两个@@作为前缀。!!!全局变量不是自定义的是由SQLserver服务器来定义的,只能使用预先声明的全局变量,只能引用它用@@开头。
    
    !!!局部变量的名称不能与全局变量相同。
    
    
                     注释
    
    多行注释/* */    单行注释-- 
    
    
                     运算符
    
    算术运算 + - *  /           比较运算符 > <  >=  <= = !=(不等于) <>(不等于)  !>  !<
    
    
    逻辑运算符:
               &(按位与) 两边都返回true,才能为true。
              
              | (按位或) 两边只有一个为true,才能为true。
     
              ~ (按位取反) true变换为false,false变换为true,0变1 1变0 。
    
              ^ (按位异或) 两边值,一个为true,一个为false才能返回为true。
                  
    
                         程序块(代码块)
    
    Begin       \程序开始
    declare @test_Var1 int,@test_String varchar(60)        \declare声明变量
    select @test_Var1=2000,@test_String='这是一个程序块'   \select为变量赋值
    if @test_Var1=2000                                     \条件
    print @test_String                                     \输出
    End
                      
    
    
    Begin
    declare @testVar1 int,@test_String1 varchar(30),@test_String2 varchar(30)  \declare声明变量
    select @testVar1=110,@test_String1='录取',@test_String2='未录取'           \select 为相应变量赋值
    if @testVar1>100                                                           \条件
    print @test_String1                                                        \输出
    else                      
    print @test_String2                                                        \输出
    End
    
    
    
    Begin
    declare @testVar1 int,@test_String1 varchar(30),@test_String2 varchar(30),@test_String3 varchar(30),@test_String4 varchar(30) \声明
    select @testVar1=100,@test_String1='优秀',@test_String2='良好',@test_String3='及格',@test_String4='不及格'                    \赋值
    if @testVar1>90 and @testVar1<=100                                                                                            \条件                                  
    print @test_String1                                                                                                           \输出          
    else if @testVar1>=80 and @testVar1<90                                                                                        \条件
    print @test_String2
    else if @testVar1>=60 and @testVar1<80
    print @test_String3
    else
    print @test_String4
    End
    
    
                                 Case语句
    
    
    Begin                                          
    declare @testVar1 int,@test_String varchar(30)         \声明变量
    set @testVar1=100                                      \变量赋值
    set @test_String=                                      \变量赋值,=等号后面没有写真正的值,后面的值由case语句来完成(Case判断给她赋值)。
    case
        when @testVar1>=90 and @testVar1<=100 then '优秀'  \条件
        when @testVar1>=80 and @testVar1<90 then '良好'    \条件
        when @testVar1>=60 and @testVar1<80 then '及格'    \条件
        else '不及格'                                      \条件
    end
    select '学员成绩为:'+@test_String                     \输出的格式为‘学生成绩’+(优秀 and 良好 and 及格)
    end
    
    
                              
                      While循环
    
    
    declare @test_Var int,@sum int  \声明变量
    select @test_Var=0,@sum=0       \为变量赋值,初始值为0
    while @test_Var<=200            \循环条件,@test_Var<=200
    begin           
    set @sum=@sum+@test_Var         \每次循环时候的
    set @test_Var=@test_Var+1
    end
    select'200以内所有整数之和为',@sum
        
    
    
                        break和continue
    
                      break
    declare @test_Var int,@sum int   \声明变量  
    select @test_Var=0,@sum=0        \为变量赋值
    while @test_Var<=200             \条件,循环值<=200 
    begin
      set @sum=@sum+@test_Var        \为@sum赋值@test_Var=@test_Var+1
      set @test_Var=@test_Var+1      \为@test_Var赋值@test_Var等于@test_Var+1
    if @test_Var=30                  \如果@test_Var=30
    break                            \直接跳出循环
    end
    select '200以内所有整数之和为:'@sum
    
                    
    
    
    
                         continue
    
    declare @test_Var int,@sum int  \声明变量
    select @test_Var=0,@sum=0       \为变量赋值
    while @test_Var<200             \条件,循环值<200
    begin  
      set @test_Var=@test_Var+1     \为@test_Var赋值@test_Var=@test_Var+1
      if  @test_Var=100             \条件声明,如果@test_Var=100
      continue                    \则跳出100这个循环,继续进行下一个循环
      set @sum=@sum+@test_Var       \为@sum进行赋值@sum=@sum+@test_Var
    end                             \符合所循环条件的时候,结束循环。
    select'运算结果为:',@sum       \输出结果,运算结果格式为:运算结果,加上@sum的值
                                     (因为@sum数据类型是整型,所以用逗号,连接而不是加号+Go to (用来改变程序执行的流程)
    
    
    declare @test_Var int,@sum int    \声明变量
    select @test_Var=0,@sum=0         \为自变量赋值
    test_Target:                      \标记,跳转至某个地方的标记
      set @test_Var=@test_Var+1       \为
      set @sum=@sum+@test_Var
      while @test_Var<200 goto test_Target
    select'所有的整数之和为:',@sum
        
  • 相关阅读:
    过用户层HOOK思路
    Linux LVM实践
    matlab演奏卡农 Cripple Pachebel's Canon on Matlab
    rman备份恢复总结
    郁金香VC外挂教程(全) 翻录版 免Key(精品教程)
    C# string 中的 @ 作用处理\等字符
    (抓)2分法通用存储过程分页(top max模式)版本(性能相对之前的not in版本极大提高)
    怎样应用OracleParameter怎样写like查询语句?
    (转)DirectoryEntry的使用
    解决模式对话框和window.open打开新页面Session会丢失问题
  • 原文地址:https://www.cnblogs.com/LNCC-ZhangXiang/p/10921916.html
Copyright © 2020-2023  润新知