zoukankan      html  css  js  c++  java
  • oracle存储过程把查询到的值更新到别的表

    create or replace procedure update_nst_t_Clime2
           as
    
                 cursor c_db is 
                 select * from NST_T_FRAME  f 
                    left join (select substr(cname,0,2) as cname,cname as realname,cid from nst_t_Clime) c
                    on  f.framename like ('%'||c.cname||'%支公司%')
                    where c.realname is not null
                    and f.FRAMETYPE<>2
                    and f.FRAMETYPE<>1
                    union
                    select * from NST_T_FRAME  f 
                    left join (select substr(cname,3,2) as cname,cname as realname,cid from nst_t_Clime) c
                    on  f.framename like ('%'||c.cname||'%分公司%')
                    where  f.FRAMETYPE=2
                    and c.realname is not null;
           begin
                 for temp in c_db loop
                    update nst_t_Clime set frameid= temp.frameid 
                    where cid= temp.cid
                    and frameid is null;
                 end loop;
           end;
           
           
           
           --运行这个存储过程:
           Begin
                  update_nst_t_Clime2();
           end;
  • 相关阅读:
    5、视图
    4、数据更新
    3、聚合与排序
    2、查询基础
    1、数据库和SQL
    Day-13:组合查询
    Day-12:创建高级联结
    Day-11:联结表
    Day-10:使用子查询
    Day-9:分组数据
  • 原文地址:https://www.cnblogs.com/penghq/p/10028606.html
Copyright © 2011-2022 走看看