delcare  @id int
SET @SQL = N'Select * from ' + @PageTable + ' where ID=@I'
 EXEC SP_EXECUTESQL  @SQL,N'@i int',@id

解决方案 »

  1.   

    或者
    SET @SQL = N'Select * from ' + @PageTable + ' where ID= '+cast(@ID as varchar(10))
    EXEC SP_EXECUTESQL  @SQL
      

  2.   

    这里,where里只用到了一个@ID,但如果是多个条件,也就是说多个参数呢?再问,谢谢
      

  3.   

    Create Procedure MyTest
    @PageTable varchar(256),
    @ID int
    AS
    DECLARE @SQL VARCHAR(8000)
    SET @SQL='Select * from '+@PageTable+' where ID='+cast(@ID as varchar(10))
    exec( @SQL)
      

  4.   


    EXEC SP_EXECUTESQL  @SQL,N'@i int,@s varchar(10)....',@id,@ss.....
      

  5.   

    delcare  @id int
    SET @SQL = N'Select * from ' + @PageTable + ' where ID=@I and xx=@j'
    EXEC SP_EXECUTESQL  @SQL,N'@i int,@j varchar(10)',@id,@j或:
    Create Procedure MyTest
    @PageTable varchar(256),
    @ID int,
    @j varchar(100)
    AS
    DECLARE @SQL VARCHAR(8000)
    SET @SQL='Select * from '+@PageTable+' where ID='+cast(@ID as varchar(10))+' and xx='''+@j+'''')
    exec( @SQL)