在mysql里我写一个存储过程
SELECT * FROM TABLE1;SELECT @num:=1 FROM TABLE2;
这样他会返回2个结果集,请问如何不让TABLE2的结果集返回回去,语法不变,或者不做大的改动
用SET什么的肯定不会返回这个我知道,但是很难满足需求用SET
比如
SELECT @num:=@num+1,@num1:=@num1+1 FROM TABLE2;
用SET就不能替代了,请问这样的话有没有什么办法不将table2的结果集返回回去,谢谢了
又不让用临时表。
SELECT * FROM TABLE1;SELECT @num:=1 FROM TABLE2;
这样他会返回2个结果集,请问如何不让TABLE2的结果集返回回去,语法不变,或者不做大的改动
用SET什么的肯定不会返回这个我知道,但是很难满足需求用SET
比如
SELECT @num:=@num+1,@num1:=@num1+1 FROM TABLE2;
用SET就不能替代了,请问这样的话有没有什么办法不将table2的结果集返回回去,谢谢了
又不让用临时表。
这样还是把这个返回了,我要取出@num,并且不返回table2
select count(*) into @num from tt
我在做这样一个功能,
SELECT @NUMTXT:=concat(NUMTXT,'clnName') FROM table1;
SELECT * FROM TABLE2 WHERE clnName in (@NUMTXT)类似这样一个功能,但是最后他把TABLE1返回回去了。当然用临时表也行,但是领导不让用。
SELECT * FROM TABLE2 WHERE clnName in (@NUMTXT) 你要怎么处理你用游标打开 SELECT * FROM TABLE2 WHERE clnName in (@NUMTXT) 试试
create table dd as
SELECT * FROM TABLE2 WHERE clnName in (@NUMTXT)
SELECT * FROM TABLE2 WHERE clnName in (@NUMTXT)
这倒是个不错的办法,但是这个dd需不需要去手动释放他呢?他存在内存中还是磁盘上?
为什么要取得上述记录集,你要怎么处理