问题如下:
怎么把下面这个sql语句写成存储过程
SELECT x FROM y
x(列名) 和y(表名) 是变量 就是说不知道要取哪个数据表哪个数据列,根据传入的x,y的变量的值动态的取数据库。

解决方案 »

  1.   

    try something like
    create proc youproc
    @y nvarchar(100),
    @z nvarchar(200)
    as
    exec ('select '+ @y + ' from ' +  @z) but note, concatenation of sql may be subject to sql injection attack
      

  2.   

    create procedure sp_select
    @x varchar(100)
    @y varchar(100)
    select @x from @y
    go
      

  3.   

    create procedure sp_select
    @x varchar(100),
    @y varchar(100)
    as
    select @x from @y
    go老大说你要注意这样组合查询语句存在sql注入的危险。