mysql 在存储过程里的游标的表名能不能是变量啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 在存储过程里的游标的表名能不能是变量啊?相关的知识,希望对你有一定的参考价值。
DECLARE t1 VARCHAR(20) default 'users';
DECLARE ordernumbers CURSOR FOR SELECT userid, password from t1;
用mysql的人应该都看的懂这两条语句吧,我这样写可以嘛?mysql5.0支持吗?
我自己知道答案了,多谢大家的帮助。我的方法也跟朋友们分享。
可以先用预处理的方式建立一个临时表或者视图,然后将游标声明到临时表或者视图上,这样就可以实现游标的表名是变量了。另外,建议大家用临时表。因为在这个存储过程中建立的视图对其他过程是没有用的,还可能产生冲突,所有用session级的temporary table还是很明智的。
insert into 表三(存款银行,存款金额,支付银行,支付金额)
select 表一.存款银行,表一.存款金额,表二.支付银行,表二.支付金额
from 表一,表二
where 表一.存款银行=表二.支付银行 参考技术A Mysql的所有变量都要用@ 参考技术B 可以的,如果你用到一个列的话
游标中的select选择一个列
定义游标后要把这个游标传给参数的
sqlserver 存储过程中变量赋值
sqlserver 存储过程中变量赋值 declare @cc int set @cc=(select count(1) from tablename) 或 select @cc=count(1) from tablename
在下面是用的时候都没有值,例如:
if @cc = 0
这个判断失效,但是当在判断前面加select @cc的时候就可以,不知道为什么,请帮助回答一下,多谢
需要看你具体的代码是什么 第5个回答 2011-08-10 654645
以上是关于mysql 在存储过程里的游标的表名能不能是变量啊?的主要内容,如果未能解决你的问题,请参考以下文章