zoukankan      html  css  js  c++  java
  • SQL.@,@@、#,##

    1、SQL server 中的@,@@、#,##分别代表什么?_百度知道.html(https://zhidao.baidu.com/question/238197938.html

    @ 表示局部变量

    @@ 表示全局变量

    # 表示本地临时表的名称,以单个数字符号打头;它们仅对当前的用户连接是可见的

    ## 表示全局临时表

    使用事例如下图所示:

      

    扩展资料:

    本地临时表

    以一个井号 (#) 开头的表名。只有在创建本地临时表连接是才能看得到,连接断开时临时表立马被删除,也就是到货本地临时表为创建它的该链接的会话所独有,或者说局部临时表是有当前用户创建的,并且只有当前用户的会话才可以访问。

    全局临时表

    以两个井号 (##) 开头的表名。在所有连接上都能看到全局临时表,也就是说只要全局临时表存在,那么对所有创建用户的会话后都是可见的。如果在创建全局临时表的连接断开前没有显式地除去全局临时表,那么只能等到其它所有任务都停止引用,这些表才会被删除。

    当创建全局临时表的连接断开后,新的任务不能再引用它们,也就是说旧的任务才可以引用。当前的语句一执行完,任务与表之间的关联即被除去;因此通常情况下,只要创建全局临时表的连接断开,全局临时表也会同时被删除。

    2、SQL中的全局变量和局部变量(@@_@) - 书写者 - 博客园.html(https://www.cnblogs.com/accumulater/p/7233626.html

    在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 
    返回最后插入的标识值 
    
    @@LANGID 
    返回当前所使用语言的本地语言标识符(ID)。 
    
    @@LANGUAGE 
    返回当前使用的语言名。 
    
    @@LOCK_TIMEOUT 
    返回当前会话的当前锁超时设置,单位为毫秒。 
    
    @@PROCID 
    返回当前过程的存储过程标识符 (ID) 。 
    
    @@ROWCOUNT 
    返回受上一语句影响的行数。 
    
    @@SERVERNAME 
    返回运行 的本地服务器名称。 
    
    @@SPID 
    返回当前用户进程的服务器进程标识符 (ID)。 
    
    @@TRANCOUNT 
    返回当前连接的活动事务数。 
    
    @@VERSION 
    返回当前安装的日期、版本和处理器类型。
    
    @@CPU_BUSY
    返回自SQL Server 最近一次启动以来CPU 的工作时间其单位为毫秒
    
    @@DATEFIRST
    返回使用SET DATEFIRST 命令而被赋值的DATAFIRST 参数值SET DATEFIRST,命令用来指定每周的第一天是星期几
    
    @@DBTS
    返回当前数据库的时间戳值必须保证数据库中时间戳的值是惟一的
    
    @@ERROR
    返回执行Transact-SQL 语句的错误代码
    
    @@FETCH_STATUS
    返回上一次FETCH 语句的状态值
    
    @@IDLE
    返回自SQL Server 最近一次启动以来CPU 处于空闭状态的时间长短单位为毫秒
    
    @@IO_BUSY
    返回自SQL Server 最近一次启动以来CPU 执行输入输出操作所花费的时间其单位为毫秒
    
    @@LANGID
    返回当前所使用的语言ID 值
    
    @@LANGUAGE
    返回当前使用的语言名称
    
    @@LOCK_TIMEOUT
    返回当前会话等待锁的时间长短其单位为毫秒
    
    @@MAX_CONNECTIONS
    返回允许连接到SQL Server 的最大连接数目
    
    @@MAX_PRECISION
    返回decimal 和numeric 数据类型的精确度
    
    @@NESTLEVEL
    返回当前执行的存储过程的嵌套级数初始值为0
    
    @@OPTIONS
    返回当前SET 选项的信息
    
    @@PACK_RECEIVED
    返回SQL Server 通过网络读取的输入包的数目
    
    @@PACK_SENT
    返回SQL Server 写给网络的输出包的数目
    
    @@PACKET_ERRORS
    返回网络包的错误数目
    
    @@PROCID
    返回当前存储过程的ID 值
    
    @@REMSERVER
    返回远程SQL Server 数据库服务器的名称
    
    @@SERVICENAME
    返回SQL Server 正运行于哪种服务状态之下如MSSQLServer MSDTC SQLServerAgent
    
    @@SPID
    返回当前用户处理的服务器处理ID 值
    
    @@TEXTSIZE
    返回SET 语句的TEXTSIZE 选项值SET 语句定义了SELECT 语句中text 或image数据类型的最大长度基本单位为字节
    
    @@TIMETICKS
    返回每一时钟的微秒数
    
    @@TOTAL_ERRORS
    返回磁盘读写错误数目
    
    @@TOTAL_READ
    返回磁盘读操作的数目
    
    @@TOTAL_WRITE
    返回磁盘写操作的数目
    
    @@TRANCOUNT
    返回当前连接中处于激活状态的事务数目

    3、

    4、

    5、

  • 相关阅读:
    HYSBZ 3813 奇数国
    HYSBZ 4419 发微博
    HYSBZ 1079 着色方案
    HYSBZ 3506 排序机械臂
    HYSBZ 3224 Tyvj 1728 普通平衡树
    Unity 3D,地形属性
    nginx 的naginx 种包含include关键字
    Redis 出现NOAUTH Authentication required解决方案
    mysql 8.0出现 Public Key Retrieval is not allowed
    修改jar包里的源码时候需要注意的问题
  • 原文地址:https://www.cnblogs.com/dbskill/p/11212826.html
Copyright © 2011-2022 走看看