在mysql5.0中如何写一个存储过程,使他的一个字段被访问一次增加一次.
DELIMITER $$DROP PROCEDURE IF EXISTS `shujuku`.`video` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `video`(out videonum int)
update video set num=num+1 $$;
select video from video;DELIMITER ;
这样怎么不执行啊.

解决方案 »

  1.   

    CREATE DEFINER=`root`@`localhost` PROCEDURE `video`(out videonum int)
    update video set num=num+1 $$;
    select videonum=video from video;
    我很急啊,怎么没有人帮帮我呢
      

  2.   

    DELIMITER $$DROP PROCEDURE IF EXISTS `shujuku`.`video` $$
    CREATE DEFINER=`root`@`localhost` PROCEDURE `video`(out videonum int)
    begin
    update video set num=num+1;
    select video from video;
    end$$DELIMITER ;
      

  3.   

    DELIMITER $$DROP PROCEDURE IF EXISTS `shujuku`.`video` $$
    CREATE  PROCEDURE `video`(out videonum int)
    begin
    update video set num=num+1;
    select num from video;
    end$$DELIMITER ;
    我现在是创建成功了,但是现在就是在call video()存储过程时没有返回结果,还有错误提示Incorrect number of arguments for PROCEDURE shujuku.video; expected 1, got 0
    这是什么原因啊?
    还有就是返回值是select的值吗?不用这样写吗?  select videonum=num from video
    请高手赶快帮我解决一下啊,
      

  4.   

    select num INTO videonum from video;调用
    mysql>CALL video(@videonum)
    mysql>SELECT @videonum
      

  5.   

    这样不对SELECT @videonum的值为null
      

  6.   

    INTO是加在PROCEDURE里那句。http://dev.mysql.com/doc/refman/5.1/zh/index.html
    参考20. 存储程序和函数
      

  7.   

    我一直以为不能用update、insert呢,网上有一个文档叫“MySQL 5.0 新特性系列 C 第2部分”
    说ALTER 'CACHE INDEX' CALL COMMIT CREATE DELETE
    DROP 'FLUSH PRIVILEGES' GRANT INSERT KILL
    LOCK OPTIMIZE REPAIR REPLACE REVOKE
    ROLLBACK SAVEPOINT 'SELECT FROM table'
    'SET system variable' 'SET TRANSACTION'
    SHOW 'START TRANSACTION' TRUNCATE UPDATE
    这些都不能在函数,触发器,存储过程中使用,这是真的么?
    现在至少知道insert和update可以了。
      

  8.   

    我一直以为不能用update、insert呢,网上有一个文档叫“MySQL 5.0 新特性系列 C 第2部分”
    说ALTER 'CACHE INDEX' CALL COMMIT CREATE DELETE
    DROP 'FLUSH PRIVILEGES' GRANT INSERT KILL
    LOCK OPTIMIZE REPAIR REPLACE REVOKE
    ROLLBACK SAVEPOINT 'SELECT FROM table'
    'SET system variable' 'SET TRANSACTION'
    SHOW 'START TRANSACTION' TRUNCATE UPDATE
    这些都不能在函数,触发器,存储过程中使用,这是真的么?
    现在至少知道insert和update可以了。