扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
请教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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者