科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道请教ORACLE的SELECT语句WITH READ ONLY的作用

请教ORACLE的SELECT语句WITH READ ONLY的作用

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

请教ORACLE的SELECT语句WITH READ ONLY的作用

作者:csdn 来源:csdn 2009年12月21日

关键字: ORACLE 问答

  • 评论
  • 分享微博
  • 分享邮件

请教ORACLE的SELECT语句WITH READ ONLY的作用

SELECT crac.HEADER_ID /*PK*/,
      crac.COST_GROUP_ID,
      crac.COST_TYPE_ID,
      crac.PERIOD_ID,
      crac.RCV_TRANSACTION_ID,
      crac.NET_QUANTITY_RECEIVED,
      crac.TOTAL_QUANTITY_INVOICED,
      crac.QUANTITY_AT_PO_PRICE,
      crac.TOTAL_INVOICE_AMOUNT,
      crac.AMOUNT_AT_PO_PRICE,
      crac.TOTAL_AMOUNT,
      crac.COSTED_QUANTITY,
      crac.ACQUISITION_COST,
      crac.PO_UNIT_PRICE,
      crac.PRIMARY_UOM,
      crac.REC_EXCHG_RATE /* FOREIGN KEYS RESOLVED */,
      ccg.cost_group,
      cct.cost_type,
      cpp.period_name,
      rt.TRANSACTION_TYPE,
      rt.TRANSACTION_DATE /* ID */,
      crac.PO_LINE_LOCATION_ID /* WHO */,
      crac.creation_date,
      crac.created_by,
      crac.last_update_date,
      crac.last_updated_by
  FROM CST_PAC_PERIODS  cpp,
      CST_COST_GROUPS  ccg,
      CST_COST_TYPES    cct,
      RCV_TRANSACTIONS  rt,
      CST_RCV_ACQ_COSTS crac
WHERE crac.PERIOD_ID = cpp.PAC_PERIOD_ID
  AND crac.cost_group_id = ccg.cost_group_id
  AND crac.cost_type_id = cct.cost_type_id
  AND crac.RCV_TRANSACTION_ID = rt.TRANSACTION_ID WITH READ ONLY


加了WITH READ ONLY 有什么作用

WITH READ ONLY
Specify WITH READ ONLY to indicate that the table or view cannot be updated.

这样等于通知ORALCE,只是查看,不做做更新。速度上会加快,不需要加锁。

WITH READ ONLY
Specify WITH READ ONLY to indicate that the table or view cannot be updated. 这样等于通知ORALCE,只是查看,不做做更新。速度上会加快,不需要加锁。
 

建视图有三种模式:
1、默认的模式,就是什么也不加。
SQL code
--可以更新的
create or replace view view_a as
    select xxx from table_name;
--不可以可以更新的
create or replace view view_a as
    select xxx from table_name1 a,table_name2 b where a.xxx=b.xxx;
--还有很多种情况不允许更新呢,比如视图中用了distinct、group by 等


2、with read only 只读视图,不允许通过本视图更新本表
SQL code
create or replace view view_a as
    select xxx from table_name with read only;


3、with check option 允许通过视图更新本表,但是要check 视图的where条件。
SQL code
create or replace view view_a as
    select xxx from table_name where id < 10 with check option;


这种情况下,只能通过视图更新 id < 10 的数据,id >=10 的数据不允许更新。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章