我想写一个存储过程,返回包含目标字段的所有记录,但是不成功。求大神。
我写的:
CREATE PROCEDURE proc_reader_searchByNOFuzzy(in r_NO varchar(12))BEGIN     select * from reader where reader_no like '%'+r_no+'%';END

解决方案 »

  1.   

      select * from reader where reader_no like CONCAT('%',r_no,'%');
      

  2.   

    CREATE PROCEDURE proc_reader_searchByNOFuzzy(in r_NO varchar(12))
      select * from reader where reader_no like concat('%',r_no,'%');
      

  3.   


    建议你如果是要返回多行记录,定义一个游标来存储结果;create or replace package pack1 is
    type my_cursor1 is ref cursor;
    end;
    create or replace procedure pro2 (v_in_deptno in number,v_out_result out pack1.my_cursor)is
    begin
      open  v_out_result for select * from emp where deptno=v_in_deptno;
    end;
      

  4.   

    CREATE PROCEDURE proc_reader_searchByNOFuzzy(in r_NO varchar(12))BEGIN  select * from reader where reader_no like concat('%',r_no,'%');END
    mysql字符串的连接时不支持+。