这样看看,没有测试,不知道行不行exec PROC_AA 'WEEEWTT2WE56KB'',''BN0658WSD3WE38KC'   

解决方案 »

  1.   

    declare @t varchar(1000)
    set @t='WEEEWTT2WE56KB,BN0658WSD3WE38KC'
    exec PROC_AA @t
      

  2.   


    因为输入参数在asp中自动生成,其格式为 'XXXXX','YYYYY','ZZZZZZ' .....该参数在存储过程中是这样使用的:select ..from ..
    where 字段1+字段2+字段3 in @KEY
    to zanyzyg(猪油果)
    'WEEEWTT2WE56KB'',''BN0658WSD3WE38KC'  或 'WEEEWTT2WE56KB,BN0658WSD3WE38KC'  这样是不是都已经改变了输入参数的值了!
      

  3.   

    exec (PROC_AA 'WEEEWTT2WE56KB','BN0658WSD3WE38KC' )
    后面加上括号
      

  4.   

    exec PROC_AA 'WEEEWTT2WE56KB' + ',' + 'BN0658WSD3WE38KC'
      

  5.   

    exec PROC_AA 'WEEEWTT2WE56KB' + ',' + 'BN0658WSD3WE38KC'
    和, 号两边各加一个 ' 都试过了,不行哦。如果拆分的话,可以在asp里做字符替换处理。
    但是如果 'XXXXX','YYYYY','ZZZZZ'   是作为一个字符串值,那么在sql 的exec中怎样处理呢?
      

  6.   

    试下:exec PROC_AA 'WEEEWTT2WE56KB,BN0658WSD3WE38KC'
      

  7.   

    create proc P_join @str varchar(100),@str2 varchar(100),@Str3 varchar(100)
    as
    begin
    print @str+@str2+@str3
    end
    调用:
    declare @str varchar(1000)
    set @str='''XXXXX'',''YYYYY'',''ZZZZZ'''
    exec ('exec P_join '+@str+'')结果:
    XXXXXYYYYYZZZZZ