这次碰到存储过程中的局部变量不支持TEXT类型的数据,汗!害苦我了。因为SQL太长,而且所有数据操作一定要在存储过程中实现,没办法,TEXT类型不支持ADD等操作。
我想到的办法就是把TEXT类型做为输入参数,然后再添加若干个NVARCHAR类型的数据做为输入参数,比如:
所以如果有个很大的超过4000长度的SQL要传给存储过程操作,最好分掉几段比较好,嘿嘿。需求不同可能操作就不一样,
我想到的办法就是把TEXT类型做为输入参数,然后再添加若干个NVARCHAR类型的数据做为输入参数,比如:
create procedure text_test
@sql text,
@test1 nvarchar(4000),
@test2 nvarchar(4000),
@test3 nvarchar(4000),
as
begin
set @sql = @test1 + ' union ' + @test2 + ' union '+@test3
end
虽然TEXT类型不支持ADD等操作,但是还是支持付值操作的。@sql text,
@test1 nvarchar(4000),
@test2 nvarchar(4000),
@test3 nvarchar(4000),
as
begin
set @sql = @test1 + ' union ' + @test2 + ' union '+@test3
end
所以如果有个很大的超过4000长度的SQL要传给存储过程操作,最好分掉几段比较好,嘿嘿。需求不同可能操作就不一样,