存储过程中的SQL语句超过最大长度4000了(300)

  • 主题发起人 主题发起人 zhaolibo
  • 开始时间 开始时间
Z

zhaolibo

Unregistered / Unconfirmed
GUEST, unregistred user!
在存储过程里定义变量,SQL语句赋给它exec @sql假如@sql变量超过它对最大长度4000,因为只执行了一部分SQL语句,执行就报错了,应该怎么办呀,用exec sp_executesql也是一样
 
分成多个,事务处理
 
多定义几个变量。分开执行。
 
if len(@sql1)>=4000 begin set @sql2=@sql1end @sql1='继续写其他语句'exec( @sql1+@sql2)
 
你的变量定义是的NVARCHAR吧,所以最大是4000,你可以定义为VARCHAR,最大是8000
 
定義多個變量 @Sql1 Varchar(8000), @Sql2 Varchar(8000),@Sql3 Varchar(8000)Exec @Sql1+@Sql2+@Sql3 這樣可以。
 
后退
顶部