CREATE DEFINER=`root`@`localhost` PROCEDURE `Viewuser`(IN `userID` VARCHAR(50))
BEGIN
SELECT * FROM `tbl_userdetails` WHERE `UserID`=userID;
END在上面的代码中,应该返回给定用户id的用户详细信息。但是它在执行这个存储过程时返回整个表。
发布于 2014-04-19 07:43:06
找到答案了。表中的字段名不应与变量名相同。这就是问题所在
创建DEFINER=root@localhost PROCEDURE Viewuser(IN ID VARCHAR(50))开始选择* FROM tbl_userdetails,其中UserID=ID;END
这很好用
发布于 2014-04-16 04:14:28
试试这个方法:
mysql> delimiter //
mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)
-> BEGIN
-> SELECT COUNT(*) INTO param1 FROM t;
-> END//
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> CALL simpleproc(@a);
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @a;
+------+
| @a |
+------+
| 3 |
+------+
1 row in set (0.00 sec)https://dev.mysql.com/doc/refman/5.5/en/create-procedure.html
https://stackoverflow.com/questions/23099834
复制相似问题