• SQL中的全局变量和局部变量(@@/@)


    在SQL中,我们常常使用临时表来存储临时结果,对于结果是一个集合的情况,这种方法非常实用,但当结果仅仅是一个数据或者是几个数据时,还要去建一个表,显得就比较麻烦,另外,当一个SQL语句中的某些元素经常变化时,比如选择条件,(至少我想)应该使用局部变量。当然MS SQL Server的全局变量也很有用。

    >>>>局部变量 

    声明:DECLARE @local_variable data_type 

    @local_variable 是变量的名称。变量名必须以 at 符 (@) 开头。data_type 是任何由系统提供的或用户定义的数据类型。变量不能是 text、ntext 或 image 数据类型。 

    示例: 
    use master 
    declare @SEL_TYPE char(2) 
    declare @SEL_CUNT numeric(10) 
    set @SEL_TYPE = 'U'/*user table*/ 
    set @SEL_CUNT = 10 

    /*返回系统中用户表的数目*/ 
    select @SEL_CUNT = COUNT(*) 
    from sysobjects 
    where type = @SEL_TYPE 

    select @SEL_CUNT as 'User table ''s count' 

    如果要返回系统表的数目,可以用set @SEL_TYPE = 'S' 

    可能这个例子并不能说明使用变量的好处,我只是想说明使用方法。当一组(几个甚至几十个)SQL语句都使用某个变量时,就能体会到他的好处了。 



    >>>>全局变量 

    全局变量是系统预定义的,返回一些系统信息,全局变量以两个at(@)开头。下面是我统计了一些较为常用的变量。 

    @@CONNECTIONS 
    返回自上次启动以来连接或试图连接的次数。 

    @@CURSOR_ROWS 
    返回连接上最后打开的游标中当前存在的合格行的数量(返回被打开的游标中还未被读取的有效数据行的行数)


    @@DATEFIRST 
    返回每周第一天的数字 

    @@ERROR 
    返回最后执行的SQL 语句的错误代码。 

    @@FETCH_STATUS 
    返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。 

    @@IDENTITY 
    返回最后插入的标识值 

    https://www.cnblogs.com/accumulater/p/7233626.html

  • 相关阅读:
    java中的重绘
    引起共鸣的句子【转自知乎】
    东大校园网一键登录
    java用字符写字符
    Xshell 配置上传下载命令 rz sz 以及配置复制和粘贴
    【测试工程师面试】 记录XX银行面试
    常见的加密解密算法
    SHA-256 加密原理
    Spring boot 整合JSP开发步骤
    Spring boot @Scheduled(cron = "* * * * * *") cron表达式详解
  • 原文地址:https://www.cnblogs.com/twoheads/p/10025242.html
Copyright © 2020-2023  润新知