SQL在过程中访问表内数据的问题.

xiaoid 2008-02-20 12:45:34
在存储过程中,我想访问某一个表里符合条件的所有记录.
比如表A
字段1,字段2
1 2
1 2
3 3
1 4


使用如下方法:
declare @a int
select @a=字段2 from A where 字段1=1
这样只可以访问最后一条记录?

请问,如何才能访问所有的记录
...全文
64 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoid 2008-02-20
  • 打赏
  • 举报
回复
我要访问符合条件的记录,与另一个表B中的数据作运算,然后存储到表B里.
xiaoid 2008-02-20
  • 打赏
  • 举报
回复
我要独立访问这些记录,将这些数据放在变量里作计算用.
中国风 2008-02-20
  • 打赏
  • 举报
回复
declare   @s   nvarchar(1000)--字符 
select @s=isnull(@s+',','')+rtrim(字段2) ---由为是int要转换一下
from A where 字段1=1
print @s--打印输出结果
select @s--显示
中国风 2008-02-20
  • 打赏
  • 举报
回复
需要用一个临时表或表变量存储。。。
--------如果只是显示

declare @s nvarchar(1000)--字符

select @s=isnull(@s+',','')+字段2 from A where 字段1=1
print @s--打印输出结果
select @s--显示
中国风 2008-02-20
  • 打赏
  • 举报
回复
declare @T table(Col2)
insert @T select 字段2 from A where 字段1=1
select * from @T
ojuju10 2008-02-20
  • 打赏
  • 举报
回复
要是遍历表中每条记录,就得用游标操作
yjk1028why 2008-02-20
  • 打赏
  • 举报
回复
如果要遍历表中的记录那只有用游标了,到帮助中看看有语句的。
kelph 2008-02-20
  • 打赏
  • 举报
回复
不用这么做,性能上也不好。
你把B表及你的运算需求提出来,sql语句应该直接可以完成你的需要。
xiaoid 2008-02-20
  • 打赏
  • 举报
回复
运算规则根据数据变动的.不是一致的.所以要把数据读取来判断后再运算.
xiaoid 2008-02-20
  • 打赏
  • 举报
回复
或者换个意思,就是在过程里,如何遍历表中的记录.
像语文中的for ...next一样,将表的记录一条一条的放在变量里.

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧