zoukankan      html  css  js  c++  java
  • SQL NOTEVARIABLE

    GOTO 可以直接跳转到制定的标签
    DECLARE @ID INT;
    SET @ID=10;
    IF(@ID=1)
    BEGIN
        GOTO myOk;
    END
    ELSE
    BEGIN
        GOTO myError;
    END
    
    myOk: PRINT 'OK';
    myError: PRINT 'Error';
    
    --=============================================================================================
    WAITFOR:
    1: WAITFOR DELAY '0:00:01';
    2: WAITFOR TIME '12:00:00';
    
    RETURN: Break the current batch and return value or nothing
    RAISEERROR: Throw an error and continue to execute the next statement;
    
    RAISERROR(N'error message',---message
        10,--Severity,
        1,--Error state
        'Para1'--Parameter)
    
    --=============================================================================================
    
    全局变量(Global variable)使用@@作为前缀,由系统定义,在实例范围内可见,对用户只读
    局部变量(Local variable)使用@作为前缀,在定义局部变量的批处理中可见,由用户创建、赋值或修改。
    
    使用Declare来对局部变量声明,声明类型不能为Text/NText/Image类型,当声明为字符类型且没有指定长度时,默认长度为1;
    
    所有为赋值的局部变量默认值为null;
    
    可以使用SET和SELECT对局部变量赋值,在SELECT中对局部变量赋值时,如果SELECT查询结果为多行时,则使用最后一行的值对局部变量赋值。
    
    
    DECLARE @ID NVARCHAR(200)
    SELECT @ID=C1 FROM dbo.T1
    SELECT @ID
    
    DECLARE @ID NVARCHAR(200)
    SET @ID=(SELECT TOP(1)C1 FROM dbo.T1)
    SELECT @ID
    --=============================================================================================
    
    局部变量存在存在内存中(包括局部表变量)。
    
    局部表变量是一种特殊的局部变量,与临时表有本质区别,不能在局部表变量上添加索引。
    
    DECLARE @T TABLE
    (
        UserID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
        UserName NVARCHAR(20)
    )
    
    INSERT INTO @T(UserName)
    SELECT 'U1'
    UNION ALL
    SELECT 'U2'
    
    SELECT * FROM @T
    --=============================================================================================
    
    集合操作
    集合合并:UNION/UNION ALL
    集合相交:INTERSECT
    集合相减:EXCEPT
    
    在集合操作中,NULL会被当做同一个值看待。
    
    
    --=============================================================================================
  • 相关阅读:
    spark2.1源码分析2:从SparkPi分析一个job的执行
    spark2.1源码分析2:从SparkPi分析一个job的执行
    spark2.1源码分析1:Win10下IDEA源码阅读环境的搭建
    spark2.1源码分析1:Win10下IDEA源码阅读环境的搭建
    常用又容易忘记的JS小功能合集 本贴收集信息为自用,如果能帮到您,实属荣幸
    Java 之 volatile 关键字
    关于synchronized批量重偏向和批量撤销的一个小实验
    Spring嵌套事务机制
    关于HashMap的一个有趣的小问题
    可阻塞队列的实现
  • 原文地址:https://www.cnblogs.com/TeyGao/p/2726221.html
Copyright © 2011-2022 走看看