用惯sqlserver的同学都知道sqlserver输出可以直接用print,而mysql没有这个函数
下面我用一个例子告诉大家用select怎么达到这个效果
下面看我写的一个存储过程:
CREATE PROCEDURE usertest( fieldstr VARCHAR(200), tablename VARCHAR(200), orderstr VARCHAR(100), ordersort INT)
BEGIN
DECLARE sort VARCHAR(20);
DECLARE tmpsql VARCHAR(500);
SET sort = '';
IF ordersort=0 THEN
SET sort='asc';
ELSE
SET sort='desc';
END IF;
SET @sqlcmd = CONCAT('select ' , fieldstr , ' from ' , tablename , ' order by ' , orderstr , ' ' , sort);
PREPARE tmpsql FROM @sqlcmd;
SELECT @sqlcmd; /*输出执行的sql语句*/
EXECUTE tmpsql;
DEALLOCATE PREPARE tmpsql;
END$$
DELIMITER ;
调用 : CALL usertest('id,username,usercode','test','usercode',1)
这里写的是一个简单的查询存储过程,用到了动态语句查询。执行结果我就不发出来了。
MySQL中使用存储过程实现PRINT功能
本文介绍如何在MySQL中通过创建存储过程来模拟SQL Server中的PRINT功能。通过动态SQL语句,可以灵活地输出指定字段的数据,并支持排序。
1539

被折叠的 条评论
为什么被折叠?



