oracle长动态sql,ORACLE成长 :一个动态SQL

If (Logid <> 0) Then

Str_Sql := 'Update dpdt.menology w Set w.sumsale=(Select Nvl(Sum(Sprc), 0) From  ' || Username1 ||

'.Zsale T1 Where To_Char(T1.Sdate,' || '''' || v_Customer_Cc2 || '''' || ') Like To_Char(Sysdate,' || '''' ||

v_Customer_Cc2 || '''' || '))';

Else

Str_Sql := 'Insert into dpdt.menology values(Portsequence.Nextval, ' || '''' || v_Customer_Cc1 || '''' || ', ' || '''' ||

Username1 || '''' || ', To_Char(Sysdate, ' || '''' || v_Customer_Cc3 || '''' || '), To_Char(Sysdate, ' || '''' ||

v_Customer_Cc2 || '''' || '),(Select Nvl(Sum(Sprc), 0) From ' || Username1 ||

' .Zsale T1 Where To_Char(T1.Sdate, ' || '''' || v_Customer_Cc2 || '''' || ') Like To_Char(Sysdate, ' || '''' ||

v_Customer_Cc2 || '''' || ')))';

/*Str_Sql := ' Merge Into Dpdt.Menology Using (Select * From Dpdt.Menology Ec Where Ec.Brand = ' || '''' ||

v_Customer_Cc1 || '''' || ' And Ec.Branch = ' || '''' || Username || '''' ||

' And Ec.Yearid = To_Char(Sysdate, ' || '''' || v_Customer_Cc3 || '''' ||

') And Ec.Monthid = To_Char(Sysdate, ' || '''' || v_Customer_Cc2 || '''' ||

')) Cc On (Cc.Menologyid Is Not Null) When Matched Then Update Set Sumsale = (Select Nvl(Sum(Sprc), 0) From ' || Username || ' .Zsale T1 Where To_Char(T1.Sdate, ' || '''' || v_Customer_Cc2 || '''' || ') Like To_Char(Sysdate, ' || '''' ||

v_Customer_Cc2 || '''' || '))

When Not Matched Then Insert(Menologyid, Brand, Branch, Yearid, Monthid, Sumsale) Values(Portsequence.Nextval, ' || '''' || v_Customer_Cc1 || '''' || ', ' || '''' || Username || '''' ||

', To_Char(Sysdate, ' || '''' || v_Customer_Cc3 || '''' || '), To_Char(Sysdate, ' || '''' || v_Customer_Cc2 || '''' ||

'),(Select Nvl(Sum(Sprc), 0) From ' || Username || ' .Zsale T1 Where To_Char(T1.Sdate, ' || '''' || v_Customer_Cc2 || '''' || ') Like To_Char(Sysdate, ' || '''' ||

v_Customer_Cc2 || '''' || ')) ';*/

End If;

Execute Immediate Str_Sql; --动态执行DDL语句

Commit;

Exception

When Others Then

Dbms_Output.Put_Line(Sqlerrm);

Rollback;

End Filldpb;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值