mysql 1046_mysql – 错误代码1046:没有选择数据库

我在MySQl Workbench上编写了一个存储过程(sp_archivev3),如下所示.基本上,将值从一个数据库插入另一个数据库.

-- --------------------------------------------------------------------------------

-- Routine DDL

-- Note: comments before and after the routine body will not be stored by the server

-- --------------------------------------------------------------------------------

DELIMITER $$

CREATE DEFINER=`MailMe`@`%` PROCEDURE `sp_archivev3`()

BEGIN

INSERT INTO

send.sgev3_archive(a_bi,

b_vc,

c_int,

d_int,

e_vc,

f_vc,

g_vc,

h_vc,

i_dt,

j_vc,

k_vc,

l_vc,

m_dt,

n_vch,

o_bit)

SELECT a_bi,

b_vc,

c_int,

d_int,

e_vc,

f_vc,

g_vc,

h_vc,

i_dt,

j_vc,

k_vc,

l_vc,

m_dt,

n_vch,

o_bit

FROM send.sgev3

WHERE m_dt BETWEEN '2014-06-09' AND CURDATE();

END

当我运行调用sp_archivev3(); ,我收到错误代码错误代码1046:没有数据库

选择通过在侧栏的SCHEMAS列表中双击其名称来选择要使用的默认DB.

请让我知道我的存储过程有什么问题.

解决方法:

问题是MySQL不知道应该执行哪个名为sp_archivev3的过程; MySQL不知道要查看哪个数据库.(存储程序是特定数据库中的对象,就像表是特定数据库中的对象一样.)

使用USE语句指定当前数据库:

use mydatabase;

call sp_archivev3();

或者使用数据库名称限定程序:

call mydatabase.sp_archivev3();

标签:mysql,stored-procedures

来源: https://codeday.me/bug/20190716/1477244.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值