sp_executesql 的参数nvarchar类型长度超过4000怎么解决?
EXEC sp_executesql @sql,N'@month_kilo AS varchar(50) OUTPUT',@month_kilo OUTPUT;
但是@sql的长度超过了4000,有谁知道怎么解决吗?
注意事项
1.我是问 sp_executesql 不是 exec,因为有输出参数的不能用exec
2.sp_executesql 是不支持参数加法运算的
3.sp_executesql 是接受nvarchar参数的,不要说用varchar(8000)之类的。
4.我的环境是sqlserver2000,所以xxxx(max)也不能用。
5.谢谢高手能够帮帮忙。
提示
1.我在网上做过调查了,好像是用什么嵌套的,但是我这个@sql里面有单引号之类的特殊字符,我试了老是报错,下面给个参考网址,我觉得应该靠谱,但是我自己试验老报错
http://topic.csdn.net/t/20061124/16/5183201.html
相关推荐
在sp_executesql中使用like字句的方法
在sp_executesql中可以执行参数化的sql,但是如果sql中有like,那么一般都要拼字符串,下面的例子把两者结合了起来,既有拼sql的灵活性,又有参数化sql的优点。
sp_executesql 使用复杂的Unicode 表达式错误的解决方法
Msg 102, Level 15, State 1, Line 3 Incorrect syntax near ‘+’. 当你尝试执行下面这段代码时,会得到如上这个错误提示。 代码如下: DECLARE @MyName NVARCHAR(100) DECLARE @FieldName SYSNAME = N’Name’ EXECUTE sp_executesql N’SELECT TOP 1 @OutputName = [‘+ @FieldName +’] FROM [dbo].[Member]’, N’@OutputName NVARCHAR(100) OUTPUT’, @MyName
sqlserver 中ntext字段的批量替换(updatetext的用法)
一、问题描述: 1。在Sql Server 中,ntext/text/image 字段不允许应用replace函数替换内容; 2。通过convert字段转换,可以把ntext字段转换为varchar(8000),然后用Relpace函数替换,不过,此方法,对于字段长度大于8000的ntext字段无效。 二、问题解决 整理通用存储过程,代码如下: 代码如下: CREATE procedure [dbo].[Proc_UpdateNTextField] @TargetTable nvarchar(1000), –目标表名 @TargetField nvarchar(1000), –目标字段名 @
sqlserver中在指定数据库的所有表的所有列中搜索给定的值
比如:我们导入了某个客户的资料,我们知道此客户的姓名是ZhangShan,我们想知道,在我们的业务数据库(eg:NorthWind)中,有哪些数据表的哪些字段设置了此姓名值ZhangShan,通过下面的SQL,我们就可以实现此目的,此处的SQL搜索自网上,在此处做了局部修改。 一、搜索数据是String类型 适用于搜索Text,NText,Varchar,Nvarchar,Char,NChar等类型 1、创建存储过程:My_Search_StringInGivenTable 代码如下: USE [NORTHWIND] GO /****** Object: StoredProcedure [d
sql server替换textntext类型字段的值
sql server替换textntext类型字段的值, 处理这种比较特殊的情况


疑难问题
