Oracle 创建视图和增加额外列

1.创建oracle视图
  • 创建视图
    CREATE OR REPLACE VIEW VIEW_SEMI_FINISHED_PRODUCTS AS	SELECT 0 pproductid, null pproductno, p.id cproductid, p.productno cproductno, null pproductdesc, null pproducttypedesc,TT.MEDIUM cproductdesc,  TTT.medium cproducttypedesc, p.DEFAULTUOMCODE,p.facility, 1 quantity, p.active, null effectivedate, null discontinuedate FROM product pLEFT JOIN TEXT_TRANSLATION TT on TT.TEXTID = P.TEXTID and TT.LANGUAGEID=2052LEFT JOIN PRODUCT_INVENTORY_TYPE pit on pit.ProductInventoryType = p.productinventorytypeLEFT JOIN TEXT_TRANSLATION TTT on TTT.textid = pit.textidWHERE p.PRODUCTINVENTORYTYPE = 110 and p.ACTIVE=1
    
    • 0 pproductid: 添加不存在的列
    • VIEW_SEMI_FINISHED_PRODUCTS:视图名
    • 视图是一张临时表,它只存储表结构不存储数据l
  • 使用视图
    SELECT * FROM VIEW_SEMI_FINISHED_PRODUCTS       -- 查询结果
    
2.添加视图列
  • 创建视图过程中,当视图需要额外增加列,以便与后续视图使用。例如连表(UNION, UNION ALL)操纵等
    create or replace view v_user
    asselect *, '1' type, 0 classid from user;
    
3.创建外部表
  • 在使用oracle_fdw时,需要将创建的视图或者表通过外部表形式映射到Postgresql中。
    • 注意:oracle_fdw只能映射视图和表,不能映射函数,存储过程,包等
      create foreign table view_semi_finished_products (pproductid bigint,pproductno varchar(80),cproductid bigint,cproductno varchar(80),pproductdesc varchar(80),pproducttypedesc varchar(80),cproductdesc varchar(80),cproducttypedesc varchar(80),defaultuomcode varchar(50),facility varchar(80),quantity bigint,active smallint,effectivedate varchar(80),discontinuedate varchar(80)
      )server oracle  options(schema 'FLX2',table 'VIEW_SEMI_FINISHED_PRODUCTS');
      
      • 视图(view_semi_finished_products)映射到pg外部表

参考文章:
Oracle创建视图(View)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部