解决方案 »

  1.   


    在存储过程中必须将查询的结果保存在变量或者游标中,因为单纯的查询在存储过程中也没法使用的。如果返回结果是单个的一条记录你可以简单的select into,如果是一个结果集最好使用游标如下:for c in (select * from(select t.*,row_number() over(partition by 类型 order by 发布时间 desc) rn from t) where rn<=10) loop
    dbms_output.put_line(c1.rn||c1.字段名); --打印结果集中的字段
    end loop;
      

  2.   

    说下你具体的需求吧
    pl/sql中select 和 into 是配对使用的,并且select into 使用时要求查询出的记录有且仅有一条
    如果需要处理多条数据,就要使用游标来完成
      

  3.   


    我的就是想要在存储过程中使用你给的SQL,让他返回所查询的结果
      

  4.   

    关键是你返回的结果是干什么用的
    如果仅作为显示,可以参考2#的写法
    作为其他用途,将2#语句中的dbms_output.put_line改为你的处理语句就行了