ZeroTrust
2017-12-17 16:20
采纳率: 75%
浏览 2.2k

mysql根据传入参数创建存储过程

已经创建了一个学生表。现在,创建一个存储过程,若没有学生的姓名,则返回所有学生
的有关情况。
即就是根据传入参数的有无来判断创建怎样的存储过程。求指点。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • blownewbee 2017-12-17 16:37
    已采纳
     delimiter //
    create procedure myproc(in stname varchar(100))
    begin
    if stname is not null then
    select * from 学生表 where 姓名 = stname;
    else
    selet * from 学生表;
    end if;
    end; 
    //
    delimiter ;
    
    点赞 评论
  • qq_38349527 2017-12-18 00:31

    delimiter $;
    create procedure test2(in student_name varchar(16))--所选的每页的大小
    BEGIN
    set @sql = "select * from student where 1=1 ";
    if student_name <> '' then
    @sql = concat(@sql,"student_name=",student_name);
    prepare sql1 from @sql;
    execute sql1;
    END;
    $;
    delimiter;

    点赞 评论
  • huangxinling1990 2017-12-18 03:00

    我给思路,不写sql,因为,一个开发人员,思想最重要。
    第一,了解一下创建存储过程语法
    第二,写一个简单的无参的存储过程
    第三,再写一个传参的存储过程,这样你的问题就处理掉了。

    点赞 评论
  • 乐古 2017-12-18 04:40

    存储过程就在那里,一动不动,等着你去调用。
    你只需根据参数判断调用哪个存储过程

    点赞 评论

相关推荐 更多相似问题