请问下面的语句中inputParam起什么作用啊?还有 SELECT inputParam;
SELECT CONCAT('zyxw', inputParam);语句表示什么意思?
CREATE PROCEDURE demoSp(IN inputParam VARCHAR(255), INOUT inOutParam INT)
BEGIN
DECLARE z INT;
SET z = inOutParam + 1;
SET inOutParam = z;
SELECT inputParam;
SELECT CONCAT('zyxw', inputParam);
END

解决方案 »

  1.   

    inputParam是参数,应该是一条SQL语句,形式如from tablename ......
    CONCAT('zyxw', inputParam);连接'zyxw',inputParam,语句就成了
    select zyxw from tablename ......
      

  2.   

    存储过程目的是为了输出inOutParam+1的值,为什么还要用到inputParam参数呢?本人初学者,麻烦详细点,谢谢···
      

  3.   

    谢谢你间接的回复,让我发现了学习过程的很多不足,作为学生的我,为什么编程能力得不到提高,我想主要是缺乏了独立思考和坚持。有时候对某个问题实在理解不了就会想到放弃了,再去重新钻研新的东西,结果积累的问题越来越多,把google和csdn平台当成最先想到的学习工具,而不是自己先去思考,从而浪费了很多原本可以自己解决问题的机会。
        此题其实是把inOutparam+1的返回值以结果集的方式传人参数inputparam中,在由select得到。这是我的理解。
      

  4.   


    有没有什么方法来验证你的这个想法?如果没有,则选中如下
    <--把 SELECT inputParam; 这句从你的代码中删除后,看看效果如何?
    -->
      

  5.   

    调试后结果一样,还是能得到inOutparam+1的返回值,我甚至把IN inputParam VARCHAR(255)删除了,用call demoSp(?)调用,也可以得到结果,同样我设了两个输入/输出参数,用call demoSp(?,?),同样能得出准确结果。那么是不是可以说inputparam并不是必须的。只是一般会这样做而已,利于数据的管理。
      

  6.   

    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html文档中找一下存储过程的说明和语法。