消息 xxx,级别 16,状态 x,过程 sp_executesql,第 x 行 过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'。

时间:2015-09-21 15:24:06   收藏:0   阅读:651

消息 xxx,级别 16,状态 x,过程 sp_executesql,第 x 行

过程需要类型为 ‘ntext/nchar/nvarchar‘ 的参数 ‘@statement‘。

 

原来的语句:

declare @createtablestr varchar(2000)

set  @createtablestr=    CREATE TABLE...

修改为

declare @createtablestr Nvarchar(2000)

set  @createtablestr=    CREATE TABLE...

要不然在执行存储过程变量前加N‘‘

ALTER PROCEDURE [dbo].[aaaaaaaaproc] 
as
BEGIN
--这里,varchar要改为nvarchar(4000)
declare   @Sql nvarchar(4000)
SET @Sql = N select * from a_table 
 
    -- Insert statements for procedure here
exec    sp_executesql @Sql
select @Sql as @Sql
END
--执行如下
USE [aaaaa]

 

 

原文:http://www.cnblogs.com/adnin/p/4826223.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!