斯通-魏尔斯特拉斯定理:SQL如何对Select出来的结果处理?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 23:33:59
在纯SQL语句中,有没有办法把select出来的结果赋给一个变量呢?比如有一列数据,我现在要把结果串联起来怎么办呢?

单纯通过简单的select 语句是不能实现的,只能使用游标从表中把字段的每条记录都读出来,然后联结起来。下边我写了一个例子,你可以看看。把脚本中的“表”、“字段”替换成实际的名称即可。最终,@content中保存的是联结起来的字符串。由于数据库本身的限制,最终字符串最多只能是8000字节。

declare @content varchar(8000)
set @content=''

--将表中字段数据插入临时表
select 字段 into #temp_str
from 表

if exists(select * from master.dbo.syscursors where cursor_name='cur_connstr')
begin
deallocate cur_connstr --如果存在同名 游标就删除掉
end
declare cur_connstr cursor for
select 字段
from #temp_str

open cur_connstr

declare @str varchar(8000)

fetch next from cur_connstr
into @str

while @@fetch_status=0
begin
set @content=@content+@str
fetch next from cur_connstr
into @str
end

close cur_connstr
deallocate cur_connstr

drop table #temp_str

print @content --将@content的内容输出到屏幕

用存储过程,否则只能代码实现,sql本身不具备这样的能力

对 用存储过程吧