照楼主的意思,应该是传入条件
create proc test
@str varchar(2000)
as
--注意列的对应
insert tablename(co1,col2,col3) exec('select co1,col2,col3 from tablename1 where '+@str)

解决方案 »

  1.   

    要不让用户将要插入的数据写到文本文件中,在存储过程中用openrowset进行导入.--/* 文本文件
    select * from 
    OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Text;FMT=Delimited;HDR=no;IMEX=2;CharacterSet=936;DATABASE=C:\'
    ,aa#txt)
    --*/
      

  2.   

    我做过相似的存储过程,做法是:把前台有用的数据组合成一个长字符串,类似于‘a,2,33,b,3,44,c,4,55,’把该字符串和其中有效字符串个数(现在是9)传到存储过程中,用循环+substring分割该字符串如下格式:
    a   2   33
    b   3   44
    c   4   55
    在作插入管理!