qqwqqqw139 2021-01-06 22:59 采纳率: 0%
浏览 36

小白请教一个关于游标的列名的问题

我想用游标从emp表中统计出每个部门的总公司和总人数以及部门名称

然后我是这样写的:

游标定义部分是:cursor c1 is select sum(sal),count(1),deptno from emp group by deptno;

但是后面用for循环来取的时候发现要取值的话,我必须知道游标c1中的列名。请问大佬们这种情况下要怎么解决?是不是我一开始的思路其实就是有问题的?

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 02:22
    关注

    首先,你的游标定义是正确的。

    但是,在使用游标时,可以通过以下代码来获取游标中的每个字段的名称:

    FOR c IN c1
    LOOP
       DBMS_OUTPUT.PUT_LINE('Sum(sal): ' || c.SUM_SAL || ', Count(1): ' || c.COUNT_1 || ', Deptno: ' || c.DEPTNO);
    END LOOP;
    

    在以上代码中,SUM_SALCOUNT_1DEPTNO分别是你在游标定义中使用的sum(sal)count(1)deptno字段的别名。

    此外,你也可以通过以下代码来获取游标中每个字段的名称:

    FOR c IN c1
    LOOP
       DBMS_OUTPUT.PUT_LINE(c1%ROWTYPE);
    END LOOP;
    

    在以上代码中,%ROWTYPE提供了一个游标的所有字段名称、类型和长度的列表。

    评论

报告相同问题?

悬赏问题

  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗