oralce游标案例

博客介绍了Oracle游标案例,要将价格高于1000、产地为杭州和中国的家电及电子产品放入表productinf_tmp,转换商品类型编号为商品类型,高于2000的商品价格下调5%,还给出了商品表、类型表的SQL及游标代码,同时列举了一些快捷键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oralce游标案例

要求把价格高于1000的产地为杭州和中国的家电和电子产品放到表productinf_tmp,并转换商品类型编号为商品类型,商品价格高于2000下调5%

  • 商品表sql
    CREATE TABLE "SCOTT"."PRODUCTINFO" 
   (    
    "PRODUCTID" VARCHAR2(10), 
    "PRODUCTNAME" VARCHAR2(20), 
    "PRODUCTPRICE" NUMBER(8,2), 
    "QUANTITY" NUMBER(10,0), 
    "CATEGORY" VARCHAR2(10), 
    "DESPERATION" VARCHAR2(1000), 
    "ORIGIN" VARCHAR2(10), 
     PRIMARY KEY ("PRODUCTID")
insert into PRODUCTINFO (productid, productname, productprice,  quantity, category, desperation, origin)
values ('1', '天堂伞', 59, 50, '1', null, '杭州');
insert into PRODUCTINFO (productid, productname, productprice, quantity, category, desperation, origin)
values ('2', '夏普LCD-48G100A', 7000, 20, '3', null, '日本');
insert into PRODUCTINFO (productid, productname, productprice, quantity, category, desperation, origin)
values ('3', '海尔XQB50-918A', 1100, 29, '3', null, '中国');
insert into PRODUCTINFO (productid, productname, productprice, quantity, category, desperation, origin)
values ('4', '三星XQB50-918A', 3600, 12, '3', null, '中国');
insert into PRODUCTINFO (productid, productname, productprice, quantity, category, desperation, origin)
values ('5', '华为XQB50-918A', 2500, 111, '3', null, '中国');
insert into PRODUCTINFO (productid, productname, productprice, quantity, category, desperation, origin)
values ('6', '台电QB50-918A', 400, 129, '4', null, '中国');
insert into PRODUCTINFO (productid, productname, productprice, quantity, category, desperation, origin)
values ('7', '恩克斯-918A', 2800, 22, '2', null, '中国');
commit;
  • 类型表sql
CREATE TABLE "SCOTT"."CATEGORYINFO" 
   (    
     "CATEGORYID" VARCHAR2(10), 
     "CATEGORYNAME" VARCHAR2(30), 
     PRIMARY KEY ("CATEGORYID")
     insert into CATEGORYINFO (categoryid, categoryname)
        values ('1', '雨具');
    insert into CATEGORYINFO (categoryid, categoryname)
        values ('2', '路由器');
    insert into CATEGORYINFO (categoryid, categoryname)
        values ('3', '电视');
    insert into CATEGORYINFO (categoryid, categoryname)
        values ('4', '洗衣机');
    insert into CATEGORYINFO (categoryid, categoryname)
        values ('5', 'MP3');
    insert into CATEGORYINFO (categoryid, categoryname)
        values ('6', '鞋');
    commit;
  • 游标代码
declare
  cur_categoryid categoryinfo.categoryid%type;
  cur_categoryname categoryinfo.categoryname%type;
  cur_prodrcd productinfo%rowtype;
  tmpnum number(8,0);

  cursor cur_prdt_catg is
         select * from productinfo where productprice>1000 and origin in('中国','杭州') and category in 
                (select categoryid from categoryinfo where categoryname in('路由器','电视','洗衣机','MP3'));
  cursor cur_catg is
         select categoryid,categoryname from categoryinfo where categoryname in('路由器','电视','洗衣机','MP3');
  begin
    --把符合要求的数据放进productinfo_tmp
    open cur_prdt_catg;
    loop
         fetch cur_prdt_catg into cur_prodrcd;
         if cur_prdt_catg%found then
            insert into productinfo_tmp(productid,productname,productprice,quantity,category,desperation,origin)
            values(cur_prodrcd.productid,cur_prodrcd.productname,cur_prodrcd.productprice,cur_prodrcd.quantity,cur_prodrcd.category,cur_prodrcd.desperation,cur_prodrcd.origin);
         else
            dbms_output.put_line('已取出所有数据!共'||cur_prdt_catg%rowcount||'条记录');
            exit;
         end if;
    end loop;
    commit;
    --转换产品类型
    open cur_catg;
    tmpnum :=0;
    loop
      fetch cur_catg into cur_categoryid,cur_categoryname;
      if cur_catg%found then
        update productinfo_tmp set productinfo_tmp.category=cur_categoryname where category=cur_categoryid;
        if sql%found then
           tmpnum := tmpnum+sql%rowcount;
        end if;
      else
        Dbms_Output.put_line('产品类型转换完毕!共转换'||tmpnum||'条记录');
        exit;
      end if;
    end loop;
    --产品价格下调
    update productinfo_tmp
    set productprice=productprice*0.95 where productprice>2000;
    dbms_output.put_line('价格下调完毕!共下调'||sql%rowcount||'条商品');
    commit;
    end;
     --查询结果           
    select * from productinfo_tmp 

快捷键

  • 加粗 Ctrl + B
  • 斜体 Ctrl + I
  • 引用 Ctrl + Q
  • 插入链接 Ctrl + L
  • 插入代码 Ctrl + K
  • 插入图片 Ctrl + G
  • 提升标题 Ctrl + H
  • 有序列表 Ctrl + O
  • 无序列表 Ctrl + U
  • 横线 Ctrl + R
  • 撤销 Ctrl + Z
  • 重做 Ctrl + Y
内容概要:本文深入解析了扣子COZE AI编程及其详细应用代码案例,旨在帮助读者理解新一代低门槛智能体开发范式。文章从五个维度展开:关键概念、核心技巧、典型应用场景、详细代码案例分析以及未来发展趋势。首先介绍了扣子COZE的核心概念,如Bot、Workflow、Plugin、Memory和Knowledge。接着分享了意图识别、函数调用链、动态Prompt、渐进式发布及监控可观测等核心技巧。然后列举了企业内部智能客服、电商导购助手、教育领域AI助教和金融行业合规质检等应用场景。最后,通过构建“会议纪要智能助手”的详细代码案例,展示了从需求描述、技术方案、Workflow节点拆解到调试与上线的全过程,并展望了多智能体协作、本地私有部署、Agent2Agent协议、边缘计算插件和实时RAG等未来发展方向。; 适合人群:对AI编程感兴趣的开发者,尤其是希望快速落地AI产品的技术人员。; 使用场景及目标:①学习如何使用扣子COZE构建生产级智能体;②掌握智能体实例、自动化流程、扩展能力和知识库的使用方法;③通过实际案例理解如何实现会议纪要智能助手的功能,包括触发器设置、下载节点、LLM节点Prompt设计、Code节点处理和邮件节点配置。; 阅读建议:本文不仅提供了理论知识,还包含了详细的代码案例,建议读者结合实际业务需求进行实践,逐步掌握扣子COZE的各项功能,并关注其未来的发展趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值