求助:在存储过程里如何使用text型的变量,或又什么别的处理较大字符串的方法,varchar太小了?

varchar最大只有255,太小了,而用text,在存储过程中如下定义:

delare @ww text

提示如下错误:
TEXT and IMAGE datatypes are invalid for parameters or local variables.

请问各位高手,如何处理,请教text类型在存储过程中的使用方法?

或有什么处理较大字符串的好办法,请赐教,十分感谢!
---------------------------------------------------------------

使用临时表,字符串信息放到表中
create table #tmp(
id numeric(16,0) identity not null,
string char(255) )
)
写字符串时, 写入 max( id ) 行。每次写入时比较该行剩余的空间,
保证每次写入的值 + 原来行的值 长度 小于 255。

取字符串时,所有行加起来 即可 。
要注意的是,如果空格在字符串中的话, 那么就要定义每行的 结束符, 而不能使用rtrim()了
---------------------------------------------------------------

楼上的方法可行.不过只能处理一行"Text"类型的记录,处理多行时可以这样设计表结构:
ID int, /唯一标志或者有意义的字串值,和Sn组成复合主键/
Sn tinyint, /某一ID下的Text字符串拆成char后的顺序号/
SeqText char(255)

---------------------------------------------------------------

哈,安,是不是杨?你居然把公司数据库拿来做login name
---------------------------------------------------------------

nvarchar(2000)
---------------------------------------------------------------

可以用两个vchar列!
---------------------------------------------------------------

其实,最简单的办法就是把它分成多个字段。
---------------------------------------------------------------

实在不行,就将内容分段截取了!

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus