存储过程如何返回结果集?最好有SQL Server 或 Sybase的例子

zhkn 2002-01-24 03:11:01
...全文
263 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhkn 2002-01-29
  • 打赏
  • 举报
回复
to:net_steven
谢谢,就是这个
还有2个问题:
1,采用这样的临时表,当数据量比较大时,会不会效率比较低?内存消耗是不是很大?
2,存储过程中出现的2个select,怎么知道返回的是那一个结果集?如果有更多的select,又怎么确定返回哪个结果集呢?
zhkn 2002-01-25
  • 打赏
  • 举报
回复
net_steven 2002-01-25
  • 打赏
  • 举报
回复
tablea必须有主键,假设是columna:
create procedure a_proc
(@min int=1,
@max int=1
)
as
begin
select IDENTITY(int, 1,1) AS ID,* into #tmp_1 from tablea order by columna
select * from #tmp_1 where ID between @min and @max order by ID
end
return(0)
----------------------------------------------------
是要这个吗?

流星尔 2002-01-24
  • 打赏
  • 举报
回复
哈哈,你要用sql server就要改变这种思路。sql server对按照记录位置返回记录处理比较麻烦。其实这是它的优点。速度可以更快。
zhkn 2002-01-24
  • 打赏
  • 举报
回复
我是想实现象mysql中的 select * from tablea limit n,m 的效果
zhkn 2002-01-24
  • 打赏
  • 举报
回复
比如说:
有某个表:tablea
字段:
columna,varchar型
columnb,varchar型
我想通过两个参数——min和max,
返回select * from tablea中的第min到第max条记录

pchaos 2002-01-24
  • 打赏
  • 举报
回复
学习
net_steven 2002-01-24
  • 打赏
  • 举报
回复
可以按顺序返回多个结果集。应该你把样式贴出来。
zhkn 2002-01-24
  • 打赏
  • 举报
回复
我是指
as之后的语句要进行处理,里面有数个select,怎么知道返回哪个?
拜托,给个复杂些的例子,一定给分
zhkn 2002-01-24
  • 打赏
  • 举报
回复
如果要经过加工呢?
流星尔 2002-01-24
  • 打赏
  • 举报
回复
你要的是什么的结果集。
比如你在客户端
发送一条select---sql语句给服务器。就返回一个结果集。作成存储过程的话,也一样,不同的只是这条语句写在服务器端。客户端用一句exec procname来代替原来写select--sql语句的地方。
举个例子。
你在sql server服务器上存储过程proc1
create proc proc1
as select bh from table1
然后在查询分析器里
exec proc1就行了。如果你是在客户端调用的话,把exec proc1写在客户端就行了。不知道你用的是什么数据库。


flowerofwind 2002-01-24
  • 打赏
  • 举报
回复
sybase
create procedure test_proc as
select * from test1

就可以返回结果几了
或者用输出参数:
create procedure test_proc @p_out varchar(255) output as
select * from test1
select @p_out = 'testtest'
net_steven 2002-01-24
  • 打赏
  • 举报
回复
sql:
create procedure a_proc
as
select * from a_table
return(0)
---------------------------------------------
当你在客户端调用(比如用ado调用)a_proc时,就能得到一个结果集。
注意,这里return(0)只是向调用a_proc的程序返回一个标志,告诉它
执行是否成功,并非返回的结果集。sql会将select * from a_table产生
的结果集返回给客户端调用者。

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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