比如:我要插入一行记录列名    值
name zhangsan而name和zhangsan都是在程序中传入的参数值
问:这样的存储过程怎么写?

解决方案 »

  1.   

    create proc p_test
        @name varchar(50),
        @value varchar(50)
    as
    declare @sql varchar(4000)
    set @sql='select * from tb where '+quotename(@name)+'='+quotename(@value,'''')
    exec (@sql)
    go
      

  2.   


    create proc wsp
    @列名 varchar(50),--多列用,号隔开
    @值  varchar(50)  --多列的值也用,号隔开
    as
    declare @sql varchar(8000)
    set @sql='insert into tb (' + @列名 + ') select '+ @值
    exec (@sql)
    go
      

  3.   

    调用如:exec wsp 'id,name,age','1,wangfang,20'
      

  4.   

    非常感谢两位的回答.那如果是要加入三列   列名        值
    1  name     zhangsan 
    2  用参数a    wangwu
    3  用参数b    用参数c(有两个列名和一个值用参数)
    这样混杂的插入,需要怎么写存储过程?能详细一些吗?再次感谢.