用临时表,不用表变量
CREATE PROCEDURE usp_DynamicSQLExample1
AS
SET NOCOUNT ON
DECLARE @DynamicSQL nvarchar(255)
create  table # (ID int IDENTITY(1,1), Name nvarchar(20), Re varchar(255)) SET @DynamicSQL = '
INSERT INTO # 
(Name, Re)
VALUES
(''你'', ''处理动态SQL语句的朋友!'') ' EXEC (@DynamicSQL) -- 检索数据
SELECT ID, Name, Re FROM # 
GO

解决方案 »

  1.   

    用临时表,不用表变量
    CREATE PROCEDURE usp_DynamicSQLExample1
    AS
    SET NOCOUNT ON
    DECLARE @DynamicSQL nvarchar(255)
    create  table # (ID int IDENTITY(1,1), Name nvarchar(20), Re varchar(255)) SET @DynamicSQL = '
    INSERT INTO # 
    (Name, Re)
    VALUES
    (''你'', ''处理动态SQL语句的朋友!'') ' EXEC (@DynamicSQL) -- 检索数据
    SELECT ID, Name, Re FROM #
      

  2.   

    不可以.如果表名是一个变量,就不可能不用动态SQL语句.
      

  3.   

    CREATE PROCEDURE usp_DynamicSQLExample1
    AS
    SET NOCOUNT ON
    DECLARE @DynamicSQL nvarchar(255)
    create table #Instruct(ID int IDENTITY(1,1), Name nvarchar(20), Re varchar(255)) SET @DynamicSQL = '
    INSERT INTO #Instruct
    (Name, Re)
    VALUES
    (''你'', ''处理动态SQL语句的朋友!'') ' EXEC (@DynamicSQL) -- 检索数据
    SELECT ID, Name, Re FROM #Instruct
    GO