你可以先對這個"傳過來的字串@a"做一下判斷啊,
如果不是數字+',',那麼直接over,否則再執行程序.if patindex('%[^,0-9]%',@a)=0
  --執行程序
else
  --print '傳過來的數據不符合'

解决方案 »

  1.   

    @s1 in (select chanpinid from tbl_chanpinid)这里的条件 不是还要用到循环吗
    例如@a='123456789,223456789,133456789'
    这个满足你的条件 假设tbl_chanpinid里chanpinid里面有123,133,不是还是插入两条,这种情况应该都不插入的啊
      

  2.   

    --在你的执行语句前加一条判断语句:
    if patindex('%[^,0-9]%',@a)>0 RETURN