在创建存储过程中,有个问题想请教一下,就是"where name like" 后面的参数怎样写才对呢?希望放在里面了
调用时直接写proc("name")即可. 目的就是where name like '%XXXX%'为条件

解决方案 »

  1.   

    select * from table1 where name like '%'+@params+'%'
      

  2.   

    哪你在存储过程中写不就行了吗?
    create procedure proc1 @name_p varchar(10)
    as
    declare @sqlstr char(500)
    set @sqlstr='select * from table1 where [name] like '%'+name_p+'%'
    exec (@sqlstr)
      

  3.   

    create procedure myproc (myName varchar(20))as
    declare @sqltext varchar(200)
    begin transaction mytans
      select @sqltext = 'select * from tablename where colname like ''%'+myName+'%'''
      exec(@sqltext)if @@error = 0
      commit transaction mytans
    else
      rollback transaction mytrans
      

  4.   

    ss=trim(edit1.text);
    with query1 do
    begin
    close;
    sql.Clear;
    sql.Add('select * from studDB where Sno like :Sno');
    params.ParamValues['Sno']:=ss+'%';
    open;
    end;
      

  5.   

    在ibconsole中,第一和第二回答的好象不对呢,@不能定义呢
      

  6.   

    ss:=trim(edit1.text);
    with query1 do
    begin
    close;
    sql.Clear;
    sql.Add('select * from studDB where Sno like :Sno');
    params.ParamValues['Sno']:=ss+'%';
    open;
    end;
      

  7.   

    你是在DELPHI中写,还是在SQL SERVER 中写,或者是其他的数据库呀
      

  8.   

    在interbase的ibcolone中写的,但不想在程序中用'%',想在存储过程直接写!