create or replace procedure BY_STOCK_IN_ADJUST_ACTION(
requestids in integer,
ids out integer,
modedatacreater out varchar2,
thecursor IN OUT cursor_define.weavercursor)
as
inum integer;
tanum integer;
gpCode varchar2(255); -- 股票代碼
poolLevel integer;--股票級別
target varchar2(255);--目標產品
begin
-- 根據requestid 查找對應流程所需資料,股票調整流程
select a.tiaokcpmc ,a.gupjb,substr(b.jiargpdm,0,length(b.jiargpdm)-2) into target,poolLevel,gpCode from formtable_main_144 a,formtable_main_144_dt1 b where a.id=b.mainid and a.requestid=requestids;
select count(1) into inum from uf_stock_pool where stockcode = gpCode and fundcode=target and pool_id=poolLevel;
if inum =0 then
return;
end if;
--判斷是否pool_id
if tanum > 0 then --pool_id 全部為1
--其中的問題就是,update陳述句有多條,怎么將多條資料中 id,modedatacreater 放到thecursor游標中
update(select * from uf_stock_pool a where stockcode=gpCode and fundcode=target ) set fundcode=target ,pool_id=0;
else --pool_id 全部為0;
update(select * from uf_stock_pool a where stockcode=gpCode and fundcode=target) set fundcode= target,pool_id=1;
end if;
<<success_msg>>
open thecursor for
select ids,modedatacreater from dual;
when others then
rollback;
end;
uj5u.com熱心網友回復:
這個存盤沒有完整,希望大佬補充一下;
uj5u.com熱心網友回復:
RETURNING 欄位 BULK COLLECT INTO enums,放在update陳述句的后面
create or replace procedure BY_STOCK_IN_ADJUST_ACTION( requestids in varchar2,
ids out integer,
creater out varchar2,
thecursor IN OUT cursor_define.weavercursor)
as
inum integer;
tanum integer;
gpCode varchar2(255); -- 股票代碼
poolLevel integer;--股票級別
target varchar2(255);--目標產品
TYPE CIDS IS TABLE OF integer;
ci CIDS;
TYPE MCR IS TABLE OF integer;
cr MCR;
begin
-- 根據requestid 查找對應流程所需資料,股票調整流程
select a.tiaokcpmc ,a.gupjb,substr(b.jiargpdm,0,length(b.jiargpdm)-2) into target,poolLevel,gpCode from formtable_main_144 a,formtable_main_144_dt1 b where a.id=b.mainid and a.requestid=requestids;
select count(1) into inum from uf_stock_pool where stockcode = gpCode and fundcode=target and pool_id=poolLevel;
if inum =0 then
return;
end if;
--判斷是否pool_id
select (case when instr(a,'1') >0 then 1 else 0 end) into tanum from (select wm_concat(pool_id) a from uf_stock_pool where stockcode=gpCode and fundcode=target );
if tanum > 0 then --pool_id 全部為1
update(select * from uf_stock_pool a where stockcode=gpCode and fundcode=target ) set fundcode=target ,pool_id=0;
else --pool_id 全部為0;
update(select * from uf_stock_pool a where stockcode=gpCode and fundcode=target) set fundcode= target,pool_id=1
RETURNING id,modedatacreater BULK COLLECT INTO ci,cr;
end if;
commit;
open thecursor for
select ids,creater from dual;
Exception
when others then
rollback;
create or replace procedure BY_STOCK_IN_ADJUST_ACTION( requestids in varchar2,
ids out integer,
creater out varchar2,
thecursor IN OUT cursor_define.weavercursor)
as
inum integer;
tanum integer;
gpCode varchar2(255); -- 股票代碼
poolLevel integer;--股票級別
target varchar2(255);--目標產品
TYPE CIDS IS TABLE OF integer;
ci CIDS;
TYPE MCR IS TABLE OF integer;
cr MCR;
begin
-- 根據requestid 查找對應流程所需資料,股票調整流程
select a.tiaokcpmc ,a.gupjb,substr(b.jiargpdm,0,length(b.jiargpdm)-2) into target,poolLevel,gpCode from formtable_main_144 a,formtable_main_144_dt1 b where a.id=b.mainid and a.requestid=requestids;
select count(1) into inum from uf_stock_pool where stockcode = gpCode and fundcode=target and pool_id=poolLevel;
if inum =0 then
return;
end if;
--判斷是否pool_id
select (case when instr(a,'1') >0 then 1 else 0 end) into tanum from (select wm_concat(pool_id) a from uf_stock_pool where stockcode=gpCode and fundcode=target );
if tanum > 0 then --pool_id 全部為1
update(select * from uf_stock_pool a where stockcode=gpCode and fundcode=target ) set fundcode=target ,pool_id=0;
else --pool_id 全部為0;
update(select * from uf_stock_pool a where stockcode=gpCode and fundcode=target) set fundcode= target,pool_id=1
RETURNING id,modedatacreater BULK COLLECT INTO ci,cr;
end if;
commit;
open thecursor for
select ids,creater from dual;
Exception
when others then
rollback;
**桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......
我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......
關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......