ITPub博客

首页 > 数据库 > Oracle > Oracle获取数据库中的对象创建语句

Oracle获取数据库中的对象创建语句

原创 Oracle 作者:hellohf123 时间:2022-04-18 10:27:40 0 删除 编辑

背景:oracle数据库中有很多无效对象(这里以 视图举例)

使用dbms_metadata.get_ddl()函数可以做到


SQL> select owner, object_name, object_type from dba_objects where status = 'INVALID' and owner='GAC_GAEI_USER' and OBJECT_TYPE='VIEW';
OWNER                          OBJECT_NAME                                                                                                                      OBJECT_TYPE
------------------------------ -------------------------------------------------------------------------------------------------------------------------------- -------------------
GAC_GAEI_USER                  V_REG_INSU01_SEGMENT_LV02                                                                                                        VIEW
GAC_GAEI_USER                  V_REG_TERM_MANFBRAND_CITY_Q                                                                                                      VIEW
GAC_GAEI_USER                  V_NE_VERSION_PRICE                                                                                                               VIEW
GAC_GAEI_USER                  V_NE_MANF_PRICE                                                                                                                  VIEW
GAC_GAEI_USER                  V_NE_MARKET_PRICE                                                                                                                VIEW
GAC_GAEI_USER                  V_DEALER_QUARTER_CITY_NO_BRAND                                                                                                   VIEW
GAC_GAEI_USER                  V_PART_CUST_SRC                                                                                                                  VIEW
GAC_GAEI_USER                  V_PART_MAINTAIN                                                                                                                  VIEW
GAC_GAEI_USER                  V_SPARE_PART_PRICE                                                                                                               VIEW
GAC_GAEI_USER                  V_REG_INSU01_SEGMENT_LV03                                                                                                        VIEW
GAC_GAEI_USER                  V_NE_SUB_MODEL_PRICE                                                                                                             VIEW


SQL> SET PAGESIZE 0
SQL> SET LONG 1000
SQL> select dbms_metadata.get_ddl('VIEW','V_NE_MARKET_SALES','GAC_GAEI_USER') from dual;
DBMS_METADATA.GET_DDL('VIEW','V_NE_MARKET_SALES','GAC_GAEI_USER')
--------------------------------------------------------------------------------
  CREATE OR REPLACE FORCE VIEW "GAC_GAEI_USER"."V_NE_MARKET_SALES" ("STANDARD_ID
", "YM_ID", "SALES_TYPE_ID", "FUEL_TYPE_ID", "BQ_SALES", "BQ_YEARACC_SALES") AS
  select
    STANDARD_ID,
    YM_ID,
    SALES_TYPE_ID,
    FUEL_TYPE_ID,
    SUM(BQ_SALES)         AS BQ_SALES,
    SUM(BQ_YEARACC_SALES) AS BQ_YEARACC_SALES
DBMS_METADATA.GET_DDL('VIEW','V_NE_MARKET_SALES','GAC_GAEI_USER')
--------------------------------------------------------------------------------
from FDW_NE_MANF_SALES
GROUP BY STANDARD_ID, YM_ID, SALES_TYPE_ID, FUEL_TYPE_ID


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70004783/viewspace-2887535/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle 19c EM
请登录后发表评论 登录
全部评论

注册时间:2021-08-05

  • 博文量
    78
  • 访问量
    81364