急问动态执行的存储过程的字符串定义长度!!!

yahoo402 2005-01-27 04:53:39
动态执行的存储过程,用的是
Declare
@sql_1 nvarchar(4000)

如下执行。。。

EXEC sp_executesql @sql_1


现在的问题是:字符串变量@sql_1长度不够啊!!!4000的字符都不够!!!
改成varchar虽然可以用到8000,但是却无法用(EXEC sp_executesql @sql_1)执行。

怎么办???找到更长的能执行的字符串也行,用别的执行方法也行。。。

解答问题,马上送100分!谢谢!!!
...全文
147 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yahoo402 2005-01-27
  • 打赏
  • 举报
回复
改成text是什么意思啊?
lyj670 2005-01-27
  • 打赏
  • 举报
回复
怎么不改成text
yahoo402 2005-01-27
  • 打赏
  • 举报
回复
好了,搞定!结贴!
最后,幸亏没什么太多的东西了,我压缩了n个空格和回车,终于搞定。谢谢各位!
Qihua_wu 2005-01-27
  • 打赏
  • 举报
回复
实在不行,就将这个存储过程分解成多个存储过程,在一个主的里面用事务调用
yahoo402 2005-01-27
  • 打赏
  • 举报
回复
存储过程有几种执行方法呢?小弟无知,达人教导一下啊
daijingjie2002 2005-01-27
  • 打赏
  • 举报
回复
最主要看你怎么组合肯定可以
yahoo402 2005-01-27
  • 打赏
  • 举报
回复
我是带参数的动态sql,内部有游标。。。这些没影响吧?
zhaojunliang 2005-01-27
  • 打赏
  • 举报
回复
学习,帮顶!
yahoo402 2005-01-27
  • 打赏
  • 举报
回复
楼上二位的方法似乎也不行。。。。
xluzhong 2005-01-27
  • 打赏
  • 举报
回复
Declare
@sql_1 varchar(8000)

EXEC ( @sql_1 )
Qihua_wu 2005-01-27
  • 打赏
  • 举报
回复
简化@sql_l的内容
daijingjie2002 2005-01-27
  • 打赏
  • 举报
回复
用varchar(8000)
exec (@sql_1)
Qihua_wu 2005-01-27
  • 打赏
  • 举报
回复
sp_executesql只能用nvarchar变量

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧