www.3112.net > mysql 创建存储过程中用到循环,怎么通过sElECt返回结果集

mysql 创建存储过程中用到循环,怎么通过sElECt返回结果集

测试表与测试数据 CREATE TABLE TestMulToOne ( name VARCHAR(10), allTitles VARCHAR(200) ); INSERT INTO TestMulToOne VALUES ('张三', '程序员,系统管理员,网络管理员'); INSERT INTO TestMulToOne VALUES ('李四',

如果对select 返回的结果行都需要处理,使用游标.如果只想取得返回多行中的一行,使用limit.

从存储过程返回表类型的值也有二种:1.存储过程使用浮标参数,即同时指定CURSOR VARYING OUTPUT项.调用者可以使用while及fetch循环遍历该浮标.2.直接将存储过程返回的结果集插入到表中,即使用insert into 表名 exec 存储过程.此种方

可以通过游标循环获取对应的结果,与resultset的用处是一致的

用游标 对我有用[0]丢个板砖[0]引用举报管理TOPACMAIN_CHM(acmain)等 级:26更多勋章

mysql中要zhidao获得存储过程的返回值,可以增加一个回out参数,用来返回.mysql中存储过程的例子:CREATE PROCEDURE addvoucher (IN userid INT,IN voucherid INT,OUT result INT)BEGINSELECT@答endate_a := endate ,@batch_a :=

可以,存储过程只是把你的查询语句形成一个固定的格式,这样你要查询的时候就不用每次都执行查询语句了,sql在执行的时候都会将你的sql语句转换为字节码,然后机器才能运行,存储过程就节省了这一步,已经形成了字节码,所以速度才会快,特别是执行次数比较多的时候,可以节省很多时间

这样DECLARE @id INT, @value VARCHAR(10);BEGIN -- 定义游标. DECLARE c_test_main CURSOR FAST_FORWARD FOR SELECT id,valueFROM test_main; -- 打开游标. OPEN c_test_main; WHILE 1=1 BEGIN -- 填充数据. FETCH NEXT

mysql好像不能返回一个表吧,你为什么要返回这个表呢?mssql里面可以写一个表值函数,返回一个结果集,你这里是创建了一个表,还需要返回吗?? 你的biao111已经存在在数据库里了,你直接select不就行了.而且select * into biao111 from checi 这种用法mysql也不支持.你看看这样能不能行? delimiter //create procedure proc_40()begin create table biao111 select * from checi; select * from biao111;end

1、 返回结果集这是客户端应用程序返回结果的最通用的方法.结果集是通过使用SELECT语句选择数据产生的.结果集可以从永久表、临时表或局部变量中产生.将结果返回到另一个存储过程不是一种有效的方法.存储过程不能访问另一个存

相关搜索:

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com