视图和表名表注释查询

-- 视图
CREATE OR REPLACE VIEW V_OUT_ESP_DP_FCST_DLY AS
SELECT /*+  LEADING(s) */
       fd.item,
       fd.seller,
       fd.bucket_date,
       substr(t.bucket_desc, 1, 5) ||
       to_number(substr(t.bucket_desc, 6, 2)) AS bucket_desc,
       substr(t.plan_month_desc, 1, 5) ||
       to_number(substr(t.plan_month_desc, 6, 2)) AS plan_month_desc,
       i.prod_brand_desc,
       i.prod_categ_desc,
       i.item_desc,
       i.prod_model_desc,
       i.prod_series_desc,
       i.prod_project_name,
       s.seller_desc,
       s.region,
       s.region_desc,
       i.item_carrier_name_cn,
       nvl(a.accumulated_ship_qty, 0) AS accumulated_ship_qty,
       nvl(a.accumulated_ship_qty, 0) + nvl(fd1.total_week_qty, 0) AS total_qty,
       fd.week_qty,
       m.spu_code,
       m.spu_name
  FROM (SELECT /*+ USE_HASH_AGGREGATION */
               item,
               seller,
               bucket_date,
               SUM(nvl(gtmfcst, 0) + nvl(gtm_buff, 0) + nvl(dp_buff, 0)) AS week_qty
          FROM sopmgr.mid_sop_to_esp_fcst_data_dly d
         WHERE week_num > = 0
         GROUP BY item, seller, bucket_date) fd
  JOIN sopmgr.in_sop_seller_master s
    ON fd.seller = s.seller
  JOIN sopmgr.in_sop_item_master i
    ON fd.item = i.item
  JOIN dwmgr.ui_time_master t
    ON fd.bucket_date = t.bucket_date
  JOIN (SELECT /*+ index(d PK_MID_SOP_TO_ESP_FCST_DATA_DLY) */
               item,
               seller,
               SUM(nvl(gtmfcst, 0) + nvl(gtm_buff, 0) + nvl(dp_buff, 0)) AS total_week_qty
          FROM sopmgr.mid_sop_to_esp_fcst_data_dly d
         WHERE week_num > = 0
         GROUP BY item, seller) fd1
    ON fd.item = fd1.item
   AND fd.seller = fd1.seller
  LEFT JOIN (SELECT sku_code, organization_code, accumulated_ship_qty
               FROM dwmgr.in_accumlated_shipment
              WHERE status = 'ACTIVE'
                AND accumulated_by_date =
                    (SELECT MAX(accumulated_by_date) AS accumulated_by_date
                       FROM dwmgr.in_accumlated_shipment
                      WHERE status = 'ACTIVE')) a
    ON fd.item = a.sku_code
   AND fd.seller = a.organization_code
  LEFT JOIN dwmgr.in_sku_master m on fd.item = m.sku_code;
comment on table V_OUT_ESP_DP_FCST_DLY is '需求计划(产销协同决策后)';
comment on column V_OUT_ESP_DP_FCST_DLY.ITEM is 'SKU编码';
comment on column V_OUT_ESP_DP_FCST_DLY.SELLER is '国家代码';
comment on column V_OUT_ESP_DP_FCST_DLY.BUCKET_DATE is '整周开始日期';
comment on column V_OUT_ESP_DP_FCST_DLY.BUCKET_DESC is '整周描述';
comment on column V_OUT_ESP_DP_FCST_DLY.PLAN_MONTH_DESC is '月度描述';
comment on column V_OUT_ESP_DP_FCST_DLY.PROD_BRAND_DESC is '品牌';
comment on column V_OUT_ESP_DP_FCST_DLY.PROD_CATEG_DESC is '类型';
comment on column V_OUT_ESP_DP_FCST_DLY.ITEM_DESC is 'SKU描述';
comment on column V_OUT_ESP_DP_FCST_DLY.PROD_MODEL_DESC is '机型';
comment on column V_OUT_ESP_DP_FCST_DLY.PROD_SERIES_DESC is '产品系列';
comment on column V_OUT_ESP_DP_FCST_DLY.PROD_PROJECT_NAME is '项目名';
comment on column V_OUT_ESP_DP_FCST_DLY.SELLER_DESC is '国家名称';
comment on column V_OUT_ESP_DP_FCST_DLY.REGION is '战区代码';
comment on column V_OUT_ESP_DP_FCST_DLY.REGION_DESC is '战区名称';
comment on column V_OUT_ESP_DP_FCST_DLY.ITEM_CARRIER_NAME_CN is '运营商';
comment on column V_OUT_ESP_DP_FCST_DLY.ACCUMULATED_SHIP_QTY is '截止到当前发货量';
comment on column V_OUT_ESP_DP_FCST_DLY.TOTAL_QTY is '总量';
comment on column V_OUT_ESP_DP_FCST_DLY.WEEK_QTY is '本周数量';



SELECT a.owner       AS "schema 码",
       a.table_name  AS "表名",
       c.comments    AS "表注释",
       a.column_name AS "字段名",
       CASE
         WHEN a.data_type IN ('NUMBER', 'DATE') THEN
          a.data_type
         WHEN a.data_type = 'UROWID' THEN
          a.data_type || '(' || a.data_length || ')'
         ELSE
          a.data_type || '(' || a.char_length || ')'
       END        AS "字段类型",
       b.comments AS "字段注释"
  FROM all_tab_columns a
  LEFT JOIN user_col_comments b
    ON a.table_name = b.table_name
   AND a.column_name = b.column_name
  LEFT JOIN all_tab_comments c
    ON c.owner = a.owner
   AND c.table_name = a.table_name
 WHERE 1 = 1
   AND translate(a.table_name, '0123456789', '@@@@@@@@@@') NOT LIKE '%@%' -- 过滤备份表
   AND a.owner IN ('ODSMGR', 'DWMGR', 'SOPMGR', 'ESPMGR', 'OUTMGR')
 ORDER BY 1, 2, a.column_id
全部评论

相关推荐

自从我室友在计算机导论课上听说了“刷 LeetCode 是进入大厂的敲门砖”,整个人就跟走火入魔了一样。他在宿舍门口贴了一张A4纸,上面写着:“正在 DP,请勿打扰,否则 Time Limit Exceeded。”日记本的扉页被他用黑色水笔加粗描了三遍:“Talk is cheap. Show me the code。”连宿舍聚餐,他都要给我们讲解:“今天的座位安排可以用回溯算法解决,但为了避免栈溢出,我建议用动态规划。来,这是状态转移方程:dp[i][j] 代表第 i 个人坐在第 j 个位置的最优解。”我让他去楼下取个快递,他不直接去,非要在门口踱步,嘴里念念有词:“这是一个图的遍历问题。从宿舍楼(root)到驿站(target node),我应该用 BFS 还是 DFS?嗯,求最短路径,还是广度优先好。”和同学约好出去开黑,他会提前发消息:“集合点 (x, y),我们俩的路径有 k 个交点,为了最小化时间复杂度,应该在 (x/2, y/2) 处汇合。”有一次另一个室友低血糖犯了,让他帮忙找颗糖,他居然冷静地分析道:“别急,这是一个查找问题。零食箱是无序数组,暴力查找是 O(n)。如果按甜度排序,我就可以用二分查找,时间复杂度降到 O(log n)。”他做卫生也要讲究算法效率:“拖地是典型的岛屿问题,要先把连通的污渍区块都清理掉。倒垃圾可以用双指针法,一个指针从左往右,一个从右往左,能最快匹配垃圾分类。”现在我们宿舍的画风已经完全变了,大家不聊游戏和妹子,对话都是这样的:“你 Two Sum 刷了几遍了?”“别提了,昨天遇到一道 Hard 题,我连暴力解都想不出来,最后只能看题解。你呢?”“我动态规划还不行,总是找不到最优子结构。今天那道接雨水给我整麻了。”……LeetCode 真的害了我室友!!!
老六f:编程嘉豪来了
AI时代还有必要刷lee...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务