navicat存储过程导出
㈠ navicat怎么导出存储过程
你打开"new query",然后直接在新的窗口里编写就可以了,给你个示例:
create procere p_test
(
in i_num int,
in i_name varchar(50),
out o_result varchar(100)
)
begin
select i_num as '输入参数1', i_name as '输入参数2';
set o_result = '输入参数结果为:';
end;
㈡ navicat for mysql 函数f和p的区别是什么
函数就是必须有返回值的,定义的时候强制指定,p就是存储过程,可以输出参数,也可以不输出参数。这就是二者的区别
㈢ Navicat与MYSQL自带的工具相比,有哪些优势特点
1、MySQL GUI Tools包括:
MySQL Query Browser
MySQL Administrator
MySQL Migration Toolkit
MySQL System Tray Monitor
2、MySQL Query Browser主要功能介绍:
(1)查看mysql syntax语句句法,函数,参数
(2)标签和历史记录
(3)保存查询,打开查询文件 *.qbquery
(4) 创建数据库(schema),表,视图,存储过程/函数,删除,编辑表,视图,拷贝表结构。
(5)创建新的连接,切换连接。
MySQL Administrator主要功能介绍:
(1)启动/停止mysql服务
(2)用户连接次数,线程
(3)健康状况查看:
连接健康实时曲线图查看(连接使用率,流量,sql查询数)
内存健康查看(Query Cache Hitrate,Key Efficiency)
状态变量查看(普通,性能,网络,执行的命令,混合,新变量)
系统变量查看(普通,连接,SQL,内存,表类型,新变量)
(4)启动变量编辑
(5)服务器,服务器实例,客户端信息查看
(6)备份与恢复整个数据库或1至多个表,定时备份.
(7)目录(catalog):
选定数据库创建,编辑表(索引,外键,列,存储引擎,字符集,密码,自动增长,最大行,最小行等),维护表(优化,检查,修理),查看选定数据库的
所有索引,创建,删除编辑选定数据库的视图,存储过程。
(8)服务器日志包括:错误日志,普通查询日志,缓慢查询日志
Migration Toolkit:
可以从MS SQL,Oracle等数据库移植复制数据库到Mysql
Mysql System Tray Monitor:
监控CPU使用,管理mysql实例,启动变量,Mysql服务,服务器日志。设置扫描间隔(1,2,5,10,30秒,1分钟)
2、Mysql workbench是另一种Mysql工具:
(1)添加EER 图表(Extended Entity-Relationship的缩写)
(2)使用默认Schema,创建新表,新的视图等对象
(3)可以导入SQL脚本
3、Navicat与MySQL GUI Tools比较有以下优势:
1.最新的MySQL版本支持,支持Mysql数据库新对象如事件,MySQL GUI Tools不能支持事件对象.
2.支持SSH连接到MySQL服务器,MySQL GUI Tools没有此功能设置
3.支持SSL安全连接,MySQL GUI Tools没有此功能
4.备份连接信息,MySQL GUI Tools只能查看连接信息,不能备份.
5.过滤记录.智能化输入过滤条件,MySQL GUI Tools没有此功能.
6.导入导出支持17种格式(slk,dif,wk1,wq1,rtf,mdb,sav,ldif等特殊的格式)。
7.结构同步,数据同步.MySQL GUI Tools只有备份和恢复,异种数据库类型间移植数据.
8.调度,创建Batch Job,设置任务调度. 创建一个设定的计划批处理工作,以计划执行一个或多个定期的,指定开始及结束的日期及时间。批处理
可以创建的对象包括查询,报表打印,备份,数据传送,数据同步,导入和导出。发送计划工作的电子邮件通知,产生通知电子邮件给你指定的收件人,让他们取
得最新计划的资讯。通过你在计划中回传结果的电子邮件帐号来直接读取。MySQL GUI Tools只有备份和定时备份.
9.报表设计,打印及定制调度.MySQL GUI Tools则没有报表.
10.创建表/视图的桌面快捷方式,Mysql GUI tools没有此功能.
11.表的复制(plicate)/清空(empty)/删除(trancate)所有数据.Mysql GUI tools只有drop表,创建
表
12.Navicat自动完成SQL代码,NySQL GUI则不能智能化的输入SQL命令,只能提供SQL语法查询.
13.服务器监控,状态变量与系统变量不仅可以像MySQL GUI tools一样可以查看,还可以编辑。
下面是每一种产品主要功能的说明。大部分客户还喜欢拿Navicat与免费的管理员工具-phpMyAdmin比较。
MySQL Migration Toolkit:
这个工具包的主要功能是从相关的数据库系统移植schema和数据到MySQL.
它仅仅支持JDBC/ODBC兼容的数据库文件如Oracle,MS SQL,MS Access,因而移植能力十分有限。对于Navicat,不仅
支
持与JDBC/ODBC兼容的数据库而且还有一些其它的流行的数据格式如Excel,PDF,HTML,dBase和XML.
界面:不像Navicat那么优美直观。
价格:免费
平台支持:Windows,Mac OS X和Linux
MySQL Administrator:
不仅仅是一个MySQL服务器配置工具,还可以监控它的状态和性能,启动和停止它。管理用户和连接和性能备份。
MySQL Administrator不能用来创建数据库,表或一些其他的MySQL对象,不能用于查询数据库。而且还没有一些Navicat的高级
功能如导入/导出,数据同步,任务调度和报表。
界面:不像Navicat那么优美直观。
价格:免费
平台支持:Windows,Mac OS X和Linux
MySQL Query Browser:
这个工具仅允许用户创建,执行和优化MySQL数据库。这个工具的主要目的是帮助用户查询和分析存储在MySQL数据库的数据。
界面:不像Navicat那么优美直观。
价格:免费
平台支持:Windows,Mac OS X和Linux
MySQL Workbench:
MySQL Workbench是一个MySQL数据库ER模型工具.一般被认为是“MySQL数据库设计工具”。用户可以用它设计,编辑,维护和比较
数据库。
Navicat没有ER数据库模型工具,但是计划在今年第三季度支持它。
MySQL Workbench有一个社区版本和标准版本,商业用户需支付99美元也只是用于支持Windows系统。
Navicat是一款强大的易用的工具。Navicat几乎将以上工具的所有特点融合在了一起,在访问数据表,浏览/显示数据和其它操作上运行的更快
㈣ navicat创建存储过程,该怎么处理
存储过程就是可存储于数据库中的一段可执行代码块。 create or replace procere 过程名 ( 参数列表 ) as 变量列表 begin 业务逻辑代码块 open ref_cursor for v_sqltext2; exception 异常处理代码块 end 过程名 create or replace procere
㈤ Navicat导出mysql数据库时出错怎么解决
项目上 MySQL还原 SQL 备份经常会碰到一个错误如下,且通常出现在导入视图、函数、存储过程、事件等对象时,其根本原因就是因为导入时所用账号并不具有SUPER 权限,所以无法创建其他账号的所属对象。ERROR 1227 (42000) : Access denied; you need (at least one of) the SUPER privilege(s) for this operation常见场景:1. 还原 RDS 时经常出现,因为 RDS 不提供 SUPER 权限;2. 由开发库还原到项目现场,账号权限等有所不同。
处理方式:
1. 在原库中批量修改对象所有者为导入账号或修改SQL SECURITY为Invoker;2. 使用 mysqlmp 导出备份,然后将 SQL 文件中的对象所有者替换为导入账号。
二、问题原因我们先来看下为啥会出现这个报错,那就得说下 MySQL 中一个很特别的权限控制机制,像视图、函数、存储过程、触发器等这些数据对象会存在一个DEFINER和一个SQL SECURITY的属性,如下所示:
--视图定义CREATEALGORITHM=UNDEFINEDDEFINER=`root`@`%`SQLSECURITYDEFINERVIEWv_test
--函数定义CREATEDEFINER=`root`@`%`FUNCTION`f_test()`RETURNSvarchar(100)SQLSECURITYDEFINER
--存储过程定义CREATEDEFINER=`root`@`%`PROCEDURE`p_test`()SQLSECURITYDEFINER
--触发器定义CREATE DEFINER=`root`@`%` trigger t_test
--事件定义CREATE DEFINER=`root`@`%` EVENT `e_test`
DEFINER:对象定义者,在创建对象时可以手动指定用户,不指定的话默认为当前连接用户;
SQL SECURITY:指明以谁的权限来执行该对象,有两个选项,一个为DEFINER,一个为INVOKER,默认情况下系统指定为 DEFINER;DEFINER:表示按定义者的权限来执行;INVOKER:表示按调用者的权限来执行。
如果导入账号具有 SUPER 权限,即使对象的所有者账号不存在,也可以导入成功,但是在查询对象时,如果对象的SQL SECURITY为DEFINER,则会报账号不存在的报错。ERROR 1449 (HY000): The user specified as a definer ('root'@'%') does not exist
改写好处:1. 可以避免还原时遇到 DEFINER 报错相关问题;2. 根据输出信息知道备份是否正常进行,防止备份中遇到元数据锁无法获取然后一直卡住的情况。