数据库中的declare什么意思_mysql prepare语句

数据库中的declare什么意思_mysql prepare语句展开全部sql中declare是声明的意思32313133353236313431303231363533e58685e5aeb931333365653236,就是声明变量的,这个一般是用在函数和存储过程中的。比如说,这个存储过程是,只要你把学号输入进来,就能查询这个学生的班级。那么在这个存储过程里面,学号就是参数。你给什么学号,它就返回给你相应的班级。又或者你也可以做成,只要你输入学号,…

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

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

展开全部

sql中declare是声明的意思32313133353236313431303231363533e58685e5aeb931333365653236,就是声明变量的,这个一般是用在函数和存储过程中的。比如说,这个存储过程是,只要你把学号输入进来,就能查询这个学生的班级。那么在这个存储过程里面, 学号就是参数。你给什么学号, 它就返回给你相应的班级。又或者你也可以做成, 只要你输入学号, 这个存储过程就会将这个学生删除。

441966499aa99d84d98c48d66e96a342.png

mysql存储过程中,定义变量有两种方式:

1.使用set或select直接赋值,变量名以 @ 开头.

例如:set @var=1;

可以在一个会话的任何地方声明,作用域是整个会话,称为会话变量。

2.以 DECLARE 关键字声明的变量,只能在存储过程中使用,称为存储过程变量,例如:

DECLARE var1  INT DEFAULT 0;

主要用在存储过程中,或者是给存储传参数中。

两者的区别是:

在调用存储过程时,以DECLARE声明的变量都会被初始化为 NULL。而会话变量(即@开头的变量)则不会被再初始化,在一个会话内,只须初始化一次,之后在会话内都是对上一次计算的结果,就相当于在是这个会话内的全局变量。

7ac71219d471f2adb46c47f6f876f147.png

在存储过程中,使用动态语句,预处理时,动态内容必须赋给一个会话变量。

例:

set @v_sql= sqltext;

PREPARE stmt FROM @v_sql;

EXECUTE stmt;

DEALLOCATE PREPARE stmt;

858cc0d603bfbde7671236a9cd573e64.png

有的时候在查询更新数据库的时候,需要多条语句的查询,因此需要多次修改

declare可以满足多次执行,但数据只修改一次。

declare @local_variable data_type

DECLARE: 定义变量,变量第一个字母是“@”

声明时需要指定变量的类型,

可以使用set和select对变量进行赋值,

在sql语句中就可以使用@local_variable来调用变量

声明中可以提供值,否则声明之后所有变量将初始化为NULL。

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

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

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


相关推荐

  • es6 padstart方法不兼容处理

    es6 padstart方法不兼容处理string.polyfill.js /***String.padStart()*version1.0.1*Feature ChromeFirefoxInternetExplorerOpera Safari Edge*Basicsupport 57 51(No) 44 1015…

    2022年9月9日
    0
  • pytest 执行用例_测试用例执行结果有哪些

    pytest 执行用例_测试用例执行结果有哪些前言平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间

    2022年7月29日
    4
  • 腾讯 cmq_rabbitmq消息队列

    腾讯 cmq_rabbitmq消息队列环境架构图组件介绍组件监听端口CMP依赖VIP:准备工作3台8*16服务器安装文档:物料包(组件物料包和python脚本):https://cmq-1255613487.cos.ap-chengdu.myqcloud.com/install_cmq/CMQ-ALL.zip安装[192.168.1.66]前端组件:#安装#[root@node_66~]#lsCMQ-1.0.2-软件包.tar.gzmk…

    2022年10月24日
    0
  • Pytest(1)安装与入门[通俗易懂]

    Pytest(1)安装与入门[通俗易懂]pytest介绍pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它

    2022年7月29日
    2
  • 暴力破解(一)——python脚本暴力破解 加密的zip压缩文件

    暴力破解(一)——python脚本暴力破解 加密的zip压缩文件简介:zip格式是常见的压缩文件格式,它支持压缩时设置解压密码;有两种加密方式:1传统加密方式和普通的加密方式。传统加密方式是一种比较简单的加密方式,现在一般很少有人使用,而且压缩时系统默认选择的是普通的加密方式。因此网上很多破解zip的软件和脚本都是针对传统加密方式开发的,所以我们拿来使用时,无法对zip进行破解,所以博主使用python搞了一个针对所有压缩加密方式通用的pytho…

    2022年4月29日
    284
  • SpringBoot详细研究-03系统集成

    SpringBoot详细研究-03系统集成

    2022年3月3日
    45

发表回复

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

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