sql%rowcount就行。
其中的sql是oracle的
内部
游标
,rowcount的意思是之前的dml
如果是delete *** 作rowcount就是delete的数据,如果是insert,就是插入的
数量
你可以在
过程
中加入这句去测试下:
dbms_outputput_line(to_char(sql%rowcount));
获取系统记录行数 go_block( T_WARITEMPRT ); last_record; row_count:=:system trigger_record; system cursor_record execute_trigger( POST CHANGE ); 设置鼠标状态set_application_property(cursor_style BUSY ); raise form_trigger_failure; 显示错误信息 exception when others then display_note(sqlerrm||sqlcode :global logon_user); decodedecode(a freigode 企业自付 供应商付费 企业代付 供应商代付 null)decode(qtyonhand qtyinit invtranqty invtranqty null) 导出路径select from t_parameter where f_name= LeanERPTempDir ;select f_c_value from t_parameter where f_name = WebServer ; 合同附件select f_c_value from t_parameter where f_name= purorderaccesspath ;select f_c_value from t_parameter where f_name= purorderaccessurl ; 设置值列表 SET_ITEM_PROPERTY( top ORIGINALNO LOV_NAME LOV_MSO );LIST_VALUES; 下拉列表 n:=populate_group( rec_lb ); populate_list( BLK_BUT APPTYPE rec_lb ); :bLK_BUT APPTYPE:= ; 调用另一模块DECLARE pl_id ParamList; v_string varchar ( ); v_itemname varchar ( ); BEGIN pl_id := Get_Parameter_List( calendar ); IF NOT Id_Null(pl_id) THEN Destroy_Parameter_List(pl_id); END IF; pl_id := Create_Parameter_List( calendar ); v_itemname:=:system current_block|| ||:system current_item; v_string:=name_in(v_itemname); Add_Parameter(pl_id p_str TEXT_PARAMETER v_string); Call_Form( input_str no_hide no_replace no_query_only pl_id); copy(:global str v_itemname); Erase(:global str);END; 批量处理 set_application_property(cursor_style BUSY ); SYNCHRONIZE; first_record; loop null; exit when :system last_record = TRUE ; next_record; end loop; set_application_property(cursor_style DEFAULT ); bell; display_note( SRMP :global logon_user); 采购计划关闭完毕! 对话框IF display_stop( INV :GLOBAL logon_user) <> alert_button THEN RETURN;END IF; 取得货币名称begin select currencydesc into v_currencydesc from t_currency where currencycode = c splymoneyflag; exception when others then v_currencydesc := 人民币(元) ;end; 询问对话框 declare return_value number;begin set_alert_property( stop_alert alert_message_text 确认送审该合同吗 ); return_value := show_alert( stop_alert ); if return_value != alert_button then return; end if;end; 询问对话框
DECLARE return_value number; BEGIN return_value := display_stop( mdm :global logon_user); IF return_value = ALERT_BUTTON THEN MIT_FORM; END IF; END;
取下周一 select trunc(sysdate d )+ from dual; message_leveloldmsg := :System Message_Level; IF reldef = FALSE THEN Go_Block(detail); Check_Package_Failure; :System Message_Level := ; Execute_Query; :System Message_Level := oldmsg; ELSE 取当前年度 期段号begin select year period into v_year v_period from t_accperiod where sysdate >= startdate and to_char(sysdate yyyy/mm/dd )<=to_char(enddate yyyy/mm/dd ); exception when others then null; end; 设置画布属性vCan :=FIND_VIEW( CAN_PRTNO );SET_VIEW_PROPERTY(vCan VISIBLE property_true);vCan :=FIND_VIEW( CAN_PRTNO );SET_VIEW_PROPERTY(vCan VISIBLE property_false); 设备提示信息elsif :top opsrc = X or :top opsrc= T then set_item_property( top tranobj prompt_text 客户代码 );else set_item_property( top tranobj prompt_text 部门代码 );end if; 设置值列表KEY LISTVALELSIF :top OPSRC= I THEN 零星出库 SET_ITEM_PROPERTY( top ORIGINALNO LOV_NAME LOV_MSI );LIST_VALUES; IF :top ORIGINALNO IS NOT NULL THEN PRTNO_MSI; END IF;END IF; 调用值列表show_lovDECLARE a_value_chosen BOOLEAN; BEGIN a_value_chosen := Show_Lov( lov_name ); IF a_value_chosen THEN set_block_property( t_efficiency default_where username = :control display_name ); go_block( t_efficiency ); execute_query; set_block_property( t_efficiency default_where username in (select username from t_hrmuser where department = :global user_dept) ); END IF; END; 生成序号declare vlpadnum number; maxno varchar ( ); cursor cerpcode is select sequence lpadnum from t_erpcode where erpcode= PURAPPNO and prifix=to_char(sysdate yy )||to_char(sysdate mm ) for update nowait;begin if :t_purapp appno is null then if :SYSTEM MODE = NORMAL THEN begin begin for c in cerpcode loop update t_erpcode set sequence=sequence+ where erpcode= PURAPPNO and prifix=to_char(sysdate yy )||to_char(sysdate mm ); end loop; exception when others then display_note( SYS :global logon_user); raise form_trigger_failure; end; select sequence lpadnum into maxno vlpadnum from t_erpcode where erpcode= PURAPPNO and prifix=to_char(sysdate yy )||to_char(sysdate mm ); exception when NO_DATA_FOUND then select count()+ into maxno from t_purapp where appno like % ||to_char(sysdate yy )||to_char(sysdate mm )|| % ; select max() vlpadnum:= ; insert into t_erpcode(erpcode prifix sequence lpadnum) values ( PURAPPNO to_char(sysdate yy )||to_char(sysdate mm ) maxno vlpadnum); end; :t_purapp appno := Q ||:global logon_user||to_char(sysdate yy )||to_char(sysdate mm )||lpad(maxno vlpadnum ); end if; end if;end; 遍历树 select t_prtstrudef prtno t_prtbasdef prtdesc t_prtbasdef mtltmrk t_prtstrudef prtpqty t_prtbasdef prtum t_prtstrudef tranprtno from t_prtstrudef t_prtbasdef where t_prtstrudef prtno = t_prtbasdef prtnoconnect by prior t_prtstrudef prtno=t_prtstrudef prntno start with t_prtstrudef prntno=:BLOCK_BUTTON PRTNO; /
Built in: FORMS_DDL Example: The expression can be a string literal / BEGIN Forms_DDL( create table temp(n NUMBER) ); IF NOT Form_Success THEN Message ( Table Creation Failed ); ELSE Message ( Table Created ); END IF; END; 物料所属大类判断and (exists (select a from t_prtinclass c where c classid= ||:blk_query classid|| and c prtno=v_totqry prtno ) or :blk_query classid is null) 给值列表赋初值declare cursor v_cur is select machtype A machtype B from t_gkdept order by machtype; N_INDEX NUMBER := ;begin DELETE_LIST_ELEMENT( T_TPMSCKMTN MACHTYPE ); for c in v_cur loop Add_List_Element( T_TPMSCKMTN MACHTYPE N_INDEX C A C B); N_INDEX := N_INDEX + ; end loop; end; 查询重复数据select rpno from t_purtrace group by rpno having count(rpno) > ; 生成单据号PROCEDURE GET_PRTNO is v_sysdate varchar ( ); v_Svdictateno varchar ( ); v_DbodNo varchar ( ); n_count integer; v_count varchar ( ); n_count integer; n_count integer; v_count varchar ( ); n_num number; v_num varchar ( );BEGIN
lishixinzhi/Article/program/Oracle/201311/18393
select from (select a,arownum as roid from table a order by 2 desc/asc )bwhere broid between 10 and 20这是ORACLE的写法,在子查询里可以根据你所需要的字段进行排序,然后选取10-20的或者别的你所需要的数据,其中rownum为关键字,所以需要在子查询里定义别名,然后在外层才能引用这个排序键值
那只能是借助rownum来实现了 oracle中在加了rownum之后可进行排序。
使用rownum,一般是筛选部分行数为结果,所以若再排序,只是对部分结果进行排序,可能不是所需要的结果。
若在oracle先排序再rownum,则使用SQL嵌套可以实现,比如
select from (select from test order by a) where rownum<10;
虽然此sql可实现,排序后查询前10条的数据,根据实际需要修改即可。
某个用户的表的表名从数据字典表 user_tables 可以查到,虽然 user_tables 数据字典中也有表的行数 NUM_ROWS 字段,但除非你对该用户进行统计信息收集(运行 dbms_statgather_schema_stats()系统包)否则该字段要么没有值,要么值是过期的数据,不准确 正确的做法是:对数据库用户进行统计信息收集后,立刻执行:
select table_name,num_rows from user_tables;
以上就是关于Oracle存储过程中如何获得DELETE语句执行后删除的记录数全部的内容,包括:Oracle存储过程中如何获得DELETE语句执行后删除的记录数、Oracle数据库-PL/SQL整理(1)、oracle查询结果行数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)