Oracle调用存储过程写入

qq_35002321 2018-05-18 04:34:48


-- begin

/*Select count(*)
into count1
From (select c.Channelitemid,c.Channelid from regentd.channel c where
c.Name like('%(闭)%') or c.name like ('%(闭)%')
and c.Channelitemid ='5B3BD6900E834CBBBB443EA2FB8872C1' or c.Channelitemid ='8B1DC268C6BC466BB73F083D14B46EEF'
and c.incomecustomer is null) b
left Join regentd.Channelitemlist ct On b.Channelitemid =ct.Id;
*/
--- whi`le count1>0
-- loop
insert into regentd.couponschannelsheet(
guid,channelid)
Select v_coupon_id,b.Channelid
--into v_channelid
From (select c.Channelitemid,c.Channelid from regentd.channel c where
c.Name like('%(闭)%') or c.name like ('%(闭)%')
and c.Channelitemid ='5B3BD6900E834CBBBB443EA2FB8872C1' or c.Channelitemid ='8B1DC268C6BC466BB73F083D14B46EEF'
and c.incomecustomer is null) b
left Join regentd.Channelitemlist ct On b.Channelitemid =ct.Id;
--values(v_coupon_id,v_channelid);
--count1 := count1-1;
--end loop;
--end;

首先查出来b.Channelid(多行数据),v_coupon_id(单行数据),他们的关系是一对的关系,我想要的结果是如下图
...全文
1248 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuyu1980 2018-05-22
  • 打赏
  • 举报
回复
把结果查出来直接笛卡尔集。 例如: select a.c1,b.c1 from a,b;
jdsnhan 2018-05-21
  • 打赏
  • 举报
回复

insert into regentd.couponschannelsheet
  (guid, channelid)
  Select v_coupon_id, b.Channelid
  --into v_channelid
    From (select c.Channelitemid, c.Channelid
            from regentd.channel c
           where c.Name like ('%(闭)%')
              or c.name like ('%(闭)%')
             and c.Channelitemid = '5B3BD6900E834CBBBB443EA2FB8872C1'
              or c.Channelitemid = '8B1DC268C6BC466BB73F083D14B46EEF'
             and c.incomecustomer is null) b
    left Join regentd.Channelitemlist ct
      On b.Channelitemid = ct.Id;
--values(v_coupon_id,v_channelid);
图中有效语句,不会出现这个错误。过程中,还有其他的语句吧。
卖水果的net 2018-05-19
  • 打赏
  • 举报
回复
还有别的代码吗?

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧