create procedure test1(in userN varchar(20),in num varchar(20))
begin
    declare swl varchar(100);
    declare b varchar(800);
    declare sql varchar(8000);
    set b='insert into tb_test set userName ='+userN;
    if num!=null
     swl=', number='+num+' ;';
    set sql=b+swl;
    execute(sql);
end;
主要是根据输入的变量来建立存储过程的插入语句。因为有些变量从前台获取时,可能为空,所以,需要判断,后写插入语句

解决方案 »

  1.   

    哥,有insert into  xxx set 这种语法吗?还有,,你的问题貌似没描述清楚?比如你现在是数据不对??执行报错?还是连写都不知道怎么写?
      

  2.   

    这个语句是SQL的? 起码变量要用@定义啊.
      

  3.   

    貌似有明显的错误 比如insert into 。。set \\\\\declare swl 定义变量要declare @swl\\\\\set b='insert into tb_test set userName ='+userN;这个拼接也错误