我需要Sybase数据类型来保存不确定长度的字符串。

时间:2013-02-25 16:39:56

标签: sybase-ase

我的要求是声明一个接受最大大小的xml值的数据类型 问题:Sybase中是否有text,xml或varchar(max)数据类型?

2 个答案:

答案 0 :(得分:3)

有text数据类型。您可以找到更多信息here

如何使用程序:

create procedure settxt
(
  @txt text
)
as
begin
  select @txt
end

如何运行程序:

declare @txt  text
select @txt = 'Hello world'
execute settxt @txt

该代码适用于我,但可能不适合所有人。

这是临时表的解决方案:

create table #texttab
(
  txt varchar(100)
)
go
insert into #texttab
values ('Hello ')

insert into #texttab
values  (' wolrd!')
go
create procedure settxt
as
begin
  declare @txt text, 
          @txtval varchar(100)  

  select @txt=' '

  declare curTXT cursor for 
  select txt from #texttab


  open curTXT
  fetch curTXT into @txtval  
  while @@sqlstatus=0 begin
    select @txtval
    select @txt=@txt+@txtval
    select @txt
    fetch curTXT into @txtval
  end
  close curTXT
  deallocate cursor curTXT

  select @txt

end
go
execute settxt

答案 1 :(得分:3)

Sybase ASE 15.7及更高版本支持存储过程(here is my support)中的参数和变量中的text数据类型。早期版本取决于页面大小,例如,页面大小为2k的服务器最多可以使用16,348个字符。另一个想法是以不同的方式存储数据,例如将大对象写入文件并仅在数据库中保存文件名。