sql 存储过程

我按照网上的dome 写了一个存储过程,根据输入的信息,返回改参数的全部信息;
表:

clipboard.png

sql存储过程:

clipboard.png

运行:

clipboard.png

结果:

clipboard.png

返回了一个空的数据,,请问一下我错误点在哪里?

clipboard.png

阅读 2.9k
3 个回答

带@的参数是微软的SQLServer的存储过程写法,mysql直接用就行。

改成这样

BEGIN
    
    SELECT * FROM test WHERE `name`=pr_name;
END

name加个1前面那个点。

如果是mysql的话,是这样建立的。

 create procedure test(IN `pr_name` varchar(20))
    begin
    
        select * from test where `name` = pr_name;

    end

参数写错了;

select id, name, age from test where name=pr_name;

不带@

楼上说的是对的,例如:

BEGIN

SELECT * FROM `user` WHERE user_name=pr_name;

END

亲测可以
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进