Oracle中怎么在存储过程中select结果啊

比如我的一个存储过程,我想完成一系列的update,insert操作后,把最终的结果select出来。但是提示在此SELECT语句中缺少INTO子句。我查了一下,说在be... 比如我的一个存储过程,我想完成一系列的update,insert操作后,把最终的结果select出来。
但是提示 在此 SELECT 语句中缺少 INTO 子句。
我查了一下,说在begin end模块中不能添加纯粹的select语句,但是这样在sqlserver里面是可以的。
Oracle里面要怎么做啊
展开
 我来答
Andy_Sun321
推荐于2016-06-22 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:728万
展开全部
也是习惯了SQL Server的存储过程中直接可以使用select语句输出结果集,但这个在Oracle中就行不通了。
如果你仅仅是想看到存储过程中语句所影响的记录内容,那么可以考虑使用游标,然后循环游标用dbms_output将内容输出,从而可以在dbms的输出中看到;
如果是要使用在其它地方,那么要给此存储过程设置一个ref cursor输出参数,并且在存储过程中设置好此游标。
追问
那如果我要做一个最简单的就是select的存储过程应该怎么办呢,比如查询大于指定ID的数据列表。
create or replace
procedure test
(
id1 in int
)
is
begin
select * from t_pointinfo where t_pointinfo.id<id1;
end;
追答

在存储过程体内,用for循环获取数据,然后dbms_output输出到dbms的输出中:

for rec in (select * from t_pointinfo where t_pointinfo.id < id1) loop
  dbms_output.put_line(rec.field1 || rec.field2 ...); 
end loop;
殇忄路
2014-11-11 · TA获得超过560个赞
知道小有建树答主
回答量:478
采纳率:81%
帮助的人:330万
展开全部
Oracle存储过程中不能这样做,要不你加一个out参数吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式