问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql 存储过程 DDL 参数

发布网友 发布时间:2022-04-22 00:14

我来回答

3个回答

热心网友 时间:2022-04-07 22:10

MySQL8.0 开始支持原⼦ DDL(atomic DDL),数据字典的更新,存储引擎操作,写⼆进制日志结合成了一个事务。在没有原⼦DDL之前,DROP TABLE test1,test2;如遇到server crash,可能会有test1被drop了,test2没有被drop掉。下面来看下在MySQL8.0之前和MySQL8.0 数据字典的区别

在MySQL8.0 之前,Data Dictionary除了存在与.FRM, .TRG, .OPT ⽂件外,还存在于系统表中(MyISAM ⾮事务引擎表中),在MySQL8.0 ,Data Dictionary 全部存在于Data Dictionary Storage Engine(即 InnoDB表中),这使crash recovery 维持原⼦性成为了可能


存储引擎⽀持

目前,只有InnoDB存储引擎⽀持原子DDL,为了实现原子DDL,Innodb要写DDL logs 到 mysql.innodb_ddl_log 表,这是⼀个隐藏在mysql.ibd 数据字典表空间⾥的数据字典表。要看mysql.innodb_ddl_log 中的内容,需要

SET GLOBAL LOG_ERROR_VERBOSITY=3;(MySQL 8.0 默认为2,error log 记录Errors and

warnings,不不记录notes)

SET GLOBAL innodb_print_ddl_logs=1;

CREATE TABLE t1 (c1 INT) ENGINE = InnoDB;

查看error log

[Note] [MY-011066] InnoDB: DDL log insert : [DDL record: DELETE SPACE, id=30,

thread_id=25, space_id=9, old_file_path=./test/t1.ibd]

[Note] [MY-011066] InnoDB: DDL log delete : by id 30

[Note] [MY-011066] InnoDB: DDL log insert : [DDL record: REMOVE CACHE, id=31,

thread_id=25, table_id=1066, new_file_path=test/t1]

[Note] [MY-011066] InnoDB: DDL log delete : by id 31

[Note] [MY-011066] InnoDB: DDL log insert : [DDL record: FREE, id=32, thread_

id=25, space_id=9, index_id=143, page_no=4]

[Note] [MY-011066] InnoDB: DDL log delete : by id 32

[Note] [MY-011066] InnoDB: DDL log post ddl : begin for thread id : 25

[Note] [MY-011066] InnoDB: DDL log post ddl : end for thread id : 25


原子DDL 操作步骤

热心网友 时间:2022-04-07 23:28

MySql 数据库用java程序创建表以及存储过程
1.同一般的数据库操作基本一样。
2.Statement.executeUpdate(String sql); 这个方法可以用来执行DDL语句,以及执行更新操作。
3.需要注意 CallableStatement 接口的用法。
用于执行 SQL 存储过程的接口。JDBC API 提供了一个存储过程 SQL 转义语法,该语法允许对所有 RDBMS 使用标准方式调用存储过程。此转义语法有一个包含结果参数的形式和一个不包含结果参数的形式。如果使用结果参数,则必须将其注册为 OUT 型参数。其他参数可用于输入、输出或同时用于二者。参数是根据编号按顺序引用的,第一个参数的编号是 1。
{?= call <procere-name>[<arg1>,<arg2>, ...]}
{call <procere-name>[<arg1>,<arg2>, ...]}
IN 参数值是使用从 PreparedStatement 中继承的 set 方法设置的。在执行存储过程之前,必须注册所有 OUT 参数的类型;它们的值是在执行后通过此类提供的 get 方法检索的。

4.需要注意 存储过程 调用的方法。
5.registerOutParameter 的使用方法。
void registerOutParameter(int parameterIndex, int sqlType) throws SQLException
按顺序位置 parameterIndex 将 OUT 参数注册为 JDBC 类型 sqlType。所有 OUT 参数都必须在执行存储过程前注册。 由 sqlType 指定的 OUT 参数的 JDBC 类型确定必须用于 get 方法来读取该参数值的 Java 类型。 如果预期返回给此输出参数的 JDBC 类型是取决于此特定数据库的,则 sqlType 应该是 java.sql.Types.OTHER。
方法 getObject(int) 检索该值。

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
sqlType - java.sql.Types 定义的 JDBC 类型代码。如果参数是 JDBC 类型 NUMERIC 或 DECIMAL,则应使用接受标度值的那种。

以上可以参考下,是否设置正确。

热心网友 时间:2022-04-08 01:02

int,char,nchar,nvarchar,varchar,text,date,time,datetime,bit,bool……
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? “野火烧不尽,春风吹又生”的意思是什么? 野火烧不尽,春风吹又生的意思 “野火烧不尽,春风吹又生”是什么意思? 野火烧不尽春风吹又生的意思表达了诗人什么?_? 离离原上草,一岁一枯荣.野火烧不尽,春风吹又生.... 野火烧不尽,春风吹又生的意思。 野火烧不尽 春风吹又生是什么意思 野火烧不尽,春风吹又生是什么意思以及出处是什么 诗句“野火烧不尽,春风吹又生”的翻译和寓意是什么? 如何理解白居易的“野火烧不尽,春风吹又生”这句诗? 用友T+POS机对账和收银员对账方式有什么区别 野火烧不尽,春风吹又生。是什么意思? 收银员怎样才能准确快速对账 收银怎么搞啊? 洗浴中心的收银和会计怎么对账,对账的流程是什么 超市收款机如何对帐 服装商场收银员如何对账 超市收银机进行对账按那个键盘 云南省全媒体运营师资格证如何报考 公司经营实体店,财务跟收银对账需要哪些准备和注... 诗词赏析:野火烧不尽,春风吹又生什么意思 mysql 存储过程参数 野火烧不尽,春风吹又生蕴含着怎样的哲理 mysql 存储过程和函数的区别 野火烧不尽,春风吹又生。的意思 mysql 存储过程 “离离原上草,一岁一枯荣。野火烧不尽,春风吹又生。... 在MySQL中如何创建一个带输出参数为一个表类型的存... 野火烧不尽,春风吹又生。意思 电子邮件可以发图片吗 野火烧不尽 春风吹又生 尽什么意思 mysql 怎么执行带有参数的存储过程 野火烧不尽,春风吹又生是什么意思? 为什么有点淘宝订单无论怎样都是村淘单 mysql存储过程 华为的这个杂志锁屏壁纸怎么更换 淘宝怎样用农村信用合作社买东西啊??第一次网购不... mysql存储过程double类型参数问题 从淘宝网上购物可以送到农村吗? mysql存储过程的基本用法有哪些