MySQL - 将所有存储过程从一个模式复制到另一个 [关闭]

Posted

技术标签:

【中文标题】MySQL - 将所有存储过程从一个模式复制到另一个 [关闭]【英文标题】:MySQL - Copying all stored procedure from one schema to another [closed] 【发布时间】:2019-09-04 14:45:52 【问题描述】:

我需要使用 SQL 脚本以编程方式将所有存储过程从一个模式复制到另一个模式。

如何在 mysql 中做到这一点?我不想运行 php 脚本。

谢谢

编辑:我在 MySQL 8 上。表 mysql.proc 不存在。此外,这些模式位于同一台服务器上。

【问题讨论】:

@AntonioVenerosoContreras be nice 你的评论越来越少了“你可以在 5 秒内谷歌一下。” 你是对的@RaymondNijland,对不起文森特。 @AntonioVenerosoContreras 我看到了这篇文章。我忘了说我在 MySQL 8 上。这篇文章只提供了 MySQL 5.7 的解决方案,它有 mysql.proc 表。 “我需要使用 SQL 脚本以编程方式将所有存储过程从一个模式复制到另一个模式。” 使用common_schema 和使用@987654323 可能很容易做到这一点@ .. 现在我考虑了一下,但不确定这个 MySQL 框架是否适用于 MySQL 8,我认为它会 .. 【参考方案1】:

使用 mysqldump 从一个模式中转储例程 https://dev.mysql.com/doc/refman/8.0/en/mysqldump-stored-programs.html

喜欢

mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt yourdb > yourdb.sql

并导入新的

mysql -u root -p yournewdb < yourdb.sql

【讨论】:

【参考方案2】:

参考

mysql.proc 中选择 *

获得你想要的。 干得好。

【讨论】:

对不起,忘了说我在 MySQL 8.0 服务器上。此表仅适用于 5.7。 SELECT * FROM information_schema.routines 然后呢?我有一个存储过程列表。如何以编程方式将它们复制到另一个模式?包括参数等。 @VincentL 你可以使用INSERT INTO information_schema.routines SELECT ... FROM information_schema.routines WHERE ... @Barmar 我会拒绝访问,因为这是一个视图,而不是一个表。

以上是关于MySQL - 将所有存储过程从一个模式复制到另一个 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在php中将存储过程从一个数据库复制到另一个数据库

SQL Server - 将存储过程从一个数据库复制到另一个数据库

SQL - 将数据从同一表中的一列复制到另一列

如何在同一个表中将数据从一列复制到另一列?

如何复制MySQL数据库或表到另外一台服务器

Oracle中怎样用存储过程将一段字符串以逗号为界截取,并将得到的子串存到另一张表中