sql中declare声明变量_sql怎么定义变量

sql中declare声明变量_sql怎么定义变量一、变量的分类及特点1、变量的分类总体可以分为两大类:系统变量和用户自定义变量系统变量:包括全局变量和会话变量自定义变量:包括局部变量和用户用户变量2、变量的特点:1、系统变量的特点:(1)、每个客户机成功连接服务器后,都会产生与之对应的会话。会话期间,服务实例会在服务器内存中生成与该会话对应的会话系统变量。这些会话系统变量的初始值都是全局系统变量值的复制,有了标记不同的会话,会话系统又新增了一些变量,这些变量是全局扁郎没有…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、变量的分类及特点

 1、变量的分类总体可以分为两大类:

  系统变量 和  用户自定义变量

       系统变量包括  全局变量会话变量

       自定义变量 : 包括 局部变量 用户用户变量

2、变量的特点:

1、系统变量的特点
(1)、每个客户机成功连接服务器后,都会产生与之对应的会话。会话期间,服务实例会在服务器内存中生成与该会话对应的会话系统变量。这些会话系统变量的初始值都是全局系统变量值的复制,有了标记不同的会话,会话系统又新增了一些变量,这些变量是全局扁郎没有的。

(2)、会话系统的特点在于,它仅仅用于定义当前会话属性,会话期间对某个会话熊蓉变量值的修改,不会影响到其他会话同一个会话系统变量的值。

(3)、全局系统变量的特点在于,它适用于定义MYSQL服务实例的属性、特点。当某个会话对某个全局系统变量值的修改会导致其他会话中同一全局系统变量值的修改。

(4)、全局系统变量对所有会话系统变量生效,会话系统变量包括全局系统变量

(5)、系统变量一’@@’开头

2、自定义变量特点
(1) 、用户会话变量(以@开头),局部变量(不以@开头)

(2) 、当定义了会话系统变量,在会话期间,该会话系统变量一直有效,不同会话之间的会话系统变量是不能相互访问的。

(3) 、局部变量必须定义在存储程序中(如函数、触发器、存储过程以及事件),并且局部变量的作用范围仅仅局限于存储程序中,脱离存储程序没有丝毫意义。

二、局部变量的定义

 (一)DECLARE 命令专门用于定义局部变量及对应的数据结构。

局部变量主要用于下面三种场合:
1、定义在存储程序的BEGIN-END语句块之间,此时,先使用DECLARE定义,并且指定其数据类型,然后用SET或SELECT为其赋值。
2、当局部变量作为存储过程或者函数的参数使用,此时不用DECLARE定义,但是需要指出参数的数据类型。
3、局部变量用于SQL语句中。

(二)使用DECLARE 定义局部变量:

在流程语句分析中,我们在存储过程中使用变量的声明与设置,由于这些变量只能在存储过程中使用,因此也称为局部变量,变量的声明可以使用以下语法:

DECLARE 变量名,[变量名2....] 数据类型(type) [DEFAULT value];

其中:

DECLARE 关键字是用来声明变量的,也可以同时定义多个同数据类型的变量;
type参数用来定义变量的类型;

DEFAULAT value字句用来设置变量的默认值,没有default value字句时,变量的默认值为NULL;

DECLARE a_test int DEFAULT 2021;

//定义一个int类型的变量,变量名为a_test 并赋予默认值为2021
//也可以同时定义多个变量,数据类型是一样的,都为timestamp类型
DECLARE v_start_timestamp,v_last_timestamp TIMESTAMP;

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171330.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 公务员叫停年终奖_100个月年终奖

    公务员叫停年终奖_100个月年终奖年底红包,多少羡慕嫉妒恨  时光荏苒,岁月蹉跎。不知不觉间,2011年即将走过。忙碌了一年的人们,自进入12月便开始了年终奖的各种讨论及猜测。在贴吧,微博网友们纷纷以晒年终奖的方式品味着所有快乐以及忧愁。  2011年,通胀压力下物价节节攀高,进入下半年CPI指数有所下降,但消费支出压力丝毫没有得到缓解,特别是集中到年底流水似的花销更叫人隐隐作痛。在现实的生存压力之下,上班族对年终

    2025年11月5日
    3
  • 【转】Mac下升级python2.7到python3.6

    【转】Mac下升级python2.7到python3.6

    2022年3月7日
    41
  • 没钱买珍珠首饰,能够画一个[通俗易懂]

    没钱买珍珠首饰,能够画一个

    2022年2月3日
    53
  • 查看端口占用的进程_cmd查看端口占用

    查看端口占用的进程_cmd查看端口占用在开发中经常会遇到端口占用问题,例如下面,npmstart报的错误:1.查看端口占用情况命令lsof-itcp:8080输出结果:字段说明:字段名说明COMMAND进程名称PID进程标识符USER进程所有者FD文件描述符,应用程序通过文件描述符识别该文件TYPE文件类型,文件REG、目录DIR、字符CHR、块设备…

    2022年7月27日
    3
  • java保留两位小数输出

    java保留两位小数输出例如:运算结果输出-40-40.0066.66666.66学过c语言的人,一看到保留小数点后两位,第一时间可能就想到:printf(”%.2f”,x);其实在java语言中和c语言类似:System.out.print(”%.2f”,x);注意:格式化输出用的是System.out.print();而不是System.out.println();原创…

    2022年7月9日
    148
  • 微服务架构-实现技术之六大基础组件:服务通信+事件驱动+负载均衡+服务路由+API网关+配置管理

    微服务架构-实现技术之六大基础组件:服务通信+事件驱动+负载均衡+服务路由+API网关+配置管理微服务架构的实现首先需要提供一些基础组件,这些基础的功能性组件主要包括服务之间的通信、面向事件驱动的架构设计方法、负载均衡、服务路由、API网关和分布式配置中心等,我们对这六大基本组件进行初步的分析定案。一、服务通信:网络连接+IO模型+可靠性+同步与异步对于微服务而言,网络通信主要关注于网络连接、IO模型、可靠性设计及服务调用方式。1.网络连接一般,基于TCP网络连接有两种基本方…

    2022年4月27日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号