zoukankan      html  css  js  c++  java
  • sqlserver 变量

    变量:
    分为全局变量和局部变量
    全部变量:以@@声明,为系统变量,所有实例都能访问,用户只能访问,不能赋值
    局部变量:生命周期只在一个批处理内有效,

    局部变量经常使用的三种用途:
    1 在循环语句中记录循环的次数或者用户控制循环的次数
    2 用于控制流程走向 比如 if (@i =1)
    3 存储 存储过程或者函数的返回值
    注意:局部变量声明的类型不能为 text ntext image,
    当对于字符型变量只提供数据类型没有提供数据长度时,默认为1,
    一切只声明没有赋值的局部变量的初始值都为 NULL

    局部变量的赋值:
    可以使用set 或者Select实现
    二者区别:
    在 T-sql中,select支持多个变量赋值,每个变量的赋值用逗号分隔
    set只支持一次对一个变量赋值

    使用set进行赋值时,当表达式返回多个值,则报错,
    而使用select在赋值表达式返回多个值时,取最后一个

    当表达式未返回值时:

    使用set对局部变量赋值时:如果赋值表达式未返回值,则局部变量变为null
    而select对表达式赋值时,如果表达式未返回值,则局部变量保持原值

    局部表变量:
    局部表变量是一个特殊的局部变量,和临时表不同,局部表变量具有一切局部变量的特点,在查询中,因为局部表变量是存在内存中,而不是硬盘中,

    所以速度会远远快于临时表或者实际表,局部表变量最多的使用是在查询中充当多个表做连接时候的中间表

    声明一个表变量:

    DECLARE @TempTable TABLE 
    (
        NAME NVARCHAR(20)
        Age INT 
    )

    注意:使用临时表的时候,可以考虑使用表变量,这样可以大大提高性能

  • 相关阅读:
    简单地通过Python库使用python的socket编程
    js 实现继承的几种方式
    JAVA中获取当前系统时间
    IntelliJ Idea 常用快捷键列表
    关于报错:There is already 'xxxController' bean method的解决方法
    mysql 使用 GROUP BY 时报错 ERROR 1055 (42000)
    安装系统,用cmd进行分区
    Bootstrap关闭当前页
    bootstrap的日期选择器
    Bootstrap如何关闭弹窗
  • 原文地址:https://www.cnblogs.com/niuzaihenmang/p/5708007.html
Copyright © 2011-2022 走看看