VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 864|回复: 6

!!!!!!求存储过程返回结果集写法!!!!!!!!!!!!!!!!

[复制链接]

2

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-2-12 09:30:01 | 显示全部楼层 |阅读模式
查询条件动态指定,即:select field1,field2,field3 into #temp from testtable where 1=1 +动态传入存储过程判断条件(如: and field1=2)请问怎么解决,我用exec(查询语句变量),然后再用:select * from #temp 但这时 #temp 已经无效了,真是头痛,还请指点一二.
回复

使用道具 举报

0

主题

12

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-4-16 21:15:01 | 显示全部楼层
在存储过程里select * from #temp
不过这时要保证这个select语句是存储过程中唯一或者至少是第一个被执行的语句
回复

使用道具 举报

0

主题

12

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-4-16 22:00:02 | 显示全部楼层
或者,换种方式;你可以写返回值为tables的function
具体的可以看帮助的示例;很清楚的。
回复

使用道具 举报

0

主题

12

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-4-17 02:45:01 | 显示全部楼层
CREATE FUNCTION SalesByStore (@storeid varchar(30))
RETURNS TABLE
AS
if @storeid = ''
RETURN (SELECT title, qty
      FROM sales s, titles t
      WHERE s.stor_id = @storeid and
      t.title_id = s.title_id)
else if ...
回复

使用道具 举报

0

主题

14

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-6-7 08:00:01 | 显示全部楼层
不知道你用临时表干什么

exec('
select field1,field2,field3 from testtable where '+queryStr+'
')
回复

使用道具 举报

0

主题

13

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-7-6 11:45:01 | 显示全部楼层
存储过程就直接可以返回你select 的结果集,临时表的确多余
回复

使用道具 举报

2

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-7-14 11:00:01 | 显示全部楼层
没有想要的答案.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表