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;

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 《廖雪峰python3教程》| 书评 + 学习笔记干货

    《廖雪峰python3教程》| 书评 + 学习笔记干货如果你正在考虑自己适不适合读《廖雪峰python3教程》,不妨看看我的评价~我把知识盲点整理成了一份清单,你可以自测,然后参考我的学习笔记哦~

    2022年10月31日
  • 数据挖掘十大算法之Apriori详解

    数据挖掘十大算法之Apriori详解在2006年12月召开的IEEE数据挖掘国际会议上,与会的各位专家选出了当时的十大数据挖掘算法(top10dataminingalgorithms),在本系列已经发布的文章中我们已经讨论了其中的七个。本文主要介绍Apriori算法,它是用于关联规则挖掘的经典算法。关联规则挖掘是数据挖掘中非常重要的研究话题,在商业数据分析中占据重要十分的地位,经典的“啤酒”与“尿片”的故事即来源于此

  • linux详解sudoers

    linux详解sudoers文章目录sudo使用sudo命令执行过程赋予用户sudo操作的权限/etc/sudoers内容详解编辑/etc/sudoers命令作用域通配符以及取消命令输入密码时有反馈修改sudo会话时间实践sudoers文件详解sudo使用Linux是多用户多任务的操作系统,共享该系统的用户往往不只一个。出于安全性考虑,有必要通过useradd创建一些非root用户,只让它们拥有不完全的权限;如有…

  • Qt学习之QListWidget删除Item

    Qt学习之QListWidget删除Item将QListWidgetItem从QListWidget列表中删除有两种方法可以做到,但也要根据自己的需要进行选择。第一种是QListWidgetItem*takeItem(introw);使用此方法需要知道删除的是第几个Item,并且返回删除的Item指针。第二种是inlinevoidremoveItemWidget(QListWidgetItem*item);需要知道删除

  • hashmap和hashtable和hashset的区别_java中hashcode和equals的区别

    hashmap和hashtable和hashset的区别_java中hashcode和equals的区别HashMap与HashTable的区别HashMap与Hashtable的区别是面试中经常遇到的一个问题。这个问题看似简单,但如果深究进去,也能了解到不少知识。本文对两者从来源,特性,算法等多个方面进行对比总结。力争多角度,全方位的展示二者的不同,做到此问题的终结版。1作者Hashtable的作者:HashMap的作者:HashMap的作者比Hashta…

  • 解决 Mac和Idea 终端关闭后,环境变量失效,每次都需source ~/.bash_profile 问题

    解决 Mac和Idea 终端关闭后,环境变量失效,每次都需source ~/.bash_profile 问题

发表回复

您的电子邮箱地址不会被公开。

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