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)


相关推荐

  • 成为一名CV(计算机视觉)工程师,你需要具备哪些能力?[通俗易懂]

    成为一名CV(计算机视觉)工程师,你需要具备哪些能力?[通俗易懂]2019年国家对人工智能加大了支持力度,媒体对人工智能的资讯报道也越来越多,刚刚结束的人工智能大会也展示了国内现在的人工智能的发展状况,“双马”对话中也处处透露出对人工智能的美好展望。人工智能一个很大的应用方向是CV(计算机视觉)。CV在如制造业、检验、文档分析、医疗诊断和军事等领域中各种智能系统中不可分割。具体的像无人驾驶、人脸识别、VR/AR等,未来在医疗领域等还将有更大的发展。那么成为一名计算机视觉工程师应该具备哪些能力呢?首先数学要学好。大学里开过的高数、线性代数、概率统计等课都十分

  • html 5简易的影片播放器

    html 5简易的影片播放器

  • ES是什么?

    ES是什么?ES是什么?ES是什么?ElasticSearch的使用场景ElasticSearch的主要特点:ElasticSearch的核心概念ElasticSearch的有关概念ElasticSearch的使用案例参考文献ES是什么?ES全称ElasticSearch,是一个基于Lucene的搜索服务器。(其实就是对Lucene进行封装,提供了RESTAPI的操作接口)ElasticSearch作为一个高度可拓展的开源全文搜索和分析引擎,可用于快速的对大数据进行存储,搜索和分析。Elasti

  • 超分辨率重建 matlab,基于Matlab的多图像超分辨率重建算法

    【实例简介】多图像超分辨率的实现主要就是将具有相似而又不同却又互相补充信息的配准影像融到一起,得到非均匀采样的较高分辨率数据,复原需要亚像素精度的运动矢量场,然而它们之间的运动模型估计精确与否直接影响到重建的效果,因此影像配准和运动模型的估计精度是高分辨率图像重建的关键。由于实际中不同时刻获得的影像数据间存在较大的变形、缩放、旋转和平移,因此必须对其进行配准,在此基础上进行运动模型估计。然后通过频…

  • Oracle中的SQL分页查询原理和方法详解

    Oracle中的SQL分页查询原理和方法详解转载请注明出处:http://blog.csdn.net/anxpp/article/details/51534006,谢谢!  本文分析并介绍Oracle中的分页查找的方法。  Oracle中的表,除了我们建表时设计的各个字段,其实还有两个字段(此处只介绍2个),分别是ROWID(行标示符)和ROWNUM(行号),即使我们使用DESCRIBE命令查看表的结构,也是看不到这

  • 阿里云配置MYSQL远程连接

    想要远程连接阿里云服务器安装的mysql(不是RDS,RDS申请外网地址即可)需要两个步骤,第一步是修改允许连接mysql的权限,具体操作如下:首先登录:mysql-uroot-hlocalhost-ppassword打开mysql数据库:usemysql;将host设置为%表示任何ip都能连接mysql,当然您也可以将host指定为某个ip:updateuse

发表回复

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

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