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; 上面是创建存储过程 然后我们进行调用存储过程 CALL usertest(‘id,name,older,c_id’,‘student’,‘older’,1) 我的student的数据表结构为 运行结果: 1、 2、 3、 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190925095737489.png)
|