mysql存储过程中怎么进行跨库操作? 10

settablename:=(selecttnamefrompeople);settabletime:=(selectCONCAT_WS('_',tablename,ti... set tablename :=(select tname from people);
set tabletime :=(select CONCAT_WS('_',tablename,time));
set dbname :=(select dname from people);
set @s=concat('alter table ',dbname.tablename,' rename to ',dbname.tabletime);
PREPARE str from @s;
EXECUTE str;

结果:
ERROR 1109 (42S02): Unknown table 'dbname' in field list 该怎么使用第二个库呢 又不能直接写use
展开
 我来答
disskiss
2015-10-14 · 超过20用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:38.8万
展开全部
  傻孩子, 你不能直接dbname.tablename 这样写, 你得先把他们concat起来, 因为他们是变量呀

  set @s=concat('alter table ',concat(dbname, '.', dablename),' rename to ',concat(dbname, '.', tabletime
));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzhd7
2011-09-28 · 超过13用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:38.2万
展开全部
如果库不在同一个mysql上 只能通过开发语言来实现相互通讯
追问
是在同一个服务器上,但是这个有不同的库不同的表,所以您帮忙想一下  有处理的方法吗?
追答
我前面估计没有给你说清楚..只要是跨库操作都需要用开发语言协助。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
恒之疆
2018-01-15 · 超过14用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:29.3万
展开全部
先建立个视图! 在视图里跨库连表! 然后 在 存储过程中使用视图就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式