DECLARE @CharVariable CHAR(3);
SET @CharVariable = 'abc';
EXECUTE sp_executesql N'PRINT @CharVariable';
GO
DECLARE @CharVariable CHAR(3);
SET @CharVariable = 'abc';
EXECUTE sp_executesql 'PRINT @CharVariable';
GO消息 137,级别 15,状态 2,第 1 行
必须声明标量变量 "@CharVariable"。
消息 214,级别 16,状态 2,过程 sp_executesql,第 1 行
过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'。

解决方案 »

  1.   


    DECLARE @CharVariable CHAR(3);
    SET @CharVariable = 'abc';
    EXECUTE sp_executesql N'PRINT @CharVariable','@CharVariable char(3)',@CharVariable;
    GO
      

  2.   

    必须声明标量变量 "@CharVariable"。
    LZ 没声明啊
      

  3.   


    提示:
    消息 214,级别 16,状态 3,过程 sp_executesql,第 1 行
    过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@parameters'。
      

  4.   

    DECLARE @sql NVARCHAR(100),@size NVARCHAR(50)
    SET @sql = N'SELECT @size = 8'
    exec sp_executesql @sql, N'@size nVARCHAR(50) output', @size output
    PRINT @size
      

  5.   

    EXECUTE sp_executesql N'PRINT @CharVariable',N'@CharVariable char(3)',@CharVariable='abc';
    GO