当前所在位置:珠峰网资料 >> 计算机 >> Oracle认证 >> 正文
Oracle认证辅导:如何通过Oracle游标直接操作Oracle系统表
发布时间:2011/6/25 19:40:26 来源:城市学习网 编辑:admin
  在ABAP编程中,有时候需要利用Native SQL操作数据库表(自定义和非业务数据的表,业务数据表我的建议还是应该通过SAP提供的类、函数,BAPI等技术操作)。下面的例子是通过游标操作Oracle的系统表的代码,供大家参考。
  *------------------------------------*
  * Read information about partitions of a table
  *------------------------------------*
  FORM get_partition_info
  USING
  i_tablnm TYPE rsd_tablnm
  CHANGING
  e_ts_part_info TYPE rsdu_ts_part_info.
  DATA:
  l_s_part_info TYPE rsdu_s_part_info.
  * this works only for Oracle
  CHECK sy-dbsys = 'ORACLE'.
  EXEC SQL.
  open csr for
  select partition_name, high_value
  from user_tab_partitions
  where table_name = :i_tablnm
  ENDEXEC.
  DO.
  EXEC SQL.
  fetch next csr into :l_s_part_info-partition_name,
  :l_s_part_info-high_value
  ENDEXEC.
  IF sy-subrc <> 0.
  EXIT.
  ENDIF.
  * Special treatment of upper limit (highvalue) in Oracle
  IF l_s_part_info-high_value EQ 'MAXVALUE'.
  l_s_part_info-high_value = rsdu_c_max_value.
  ENDIF.
  INSERT l_s_part_info INTO TABLE e_ts_part_info.
  ENDDO.
  EXEC SQL.
  close csr
  ENDEXEC.
  ENDFORM. " GET_PARTITION_INFO
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15080520号-20
珠峰网 版权所有 All Rights Reserved