我想把查询语句当做输入参数  然后存储过程执行这个查询语句  不知道可以不?
create procedure pd_my sql_str varchar(200)
as
............
在这里把sql_str当做sql语句来执行  应该怎么实现啊?

解决方案 »

  1.   

    很简单啊,exec sql_str 
      

  2.   

    if object_id('TB')IS NOT NULL DROP TABLE TB
    GO
    CREATE TABLE TB(ID INT IDENTITY,[NAME] VARCHAR(10))
    INSERT TB SELECT 'A'
    INSERT TB SELECT 'B'
    if object_id('PROC_TEST')IS NOT NULL DROP PROC PROC_TEST
    GO
    create procedure PROC_TEST 
    @sql_str varchar(200) 
    as 
     EXEC(@SQL_STR)
     GO
    EXEC PROC_TEST @sql_str='SELECT * FROM TB'
    /*ID          NAME       
    ----------- ---------- 
    1           A
    2           B(影響 2 個資料列)*/