国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

Materialize view 更新資料的程序

2024-07-21 02:33:45
字體:
供稿:網(wǎng)友
  從AskTom的文章里看到一段關(guān)於mv (materialize view)的操作過程,隨手就把他紀(jì)錄了下來,提供參考。ops$tkyte@ORA817DEV.US.Oracle.COM> create table t ( x int PRimary key, y int);Table created. ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> create materialized view t_mv
2 refresh on commit
3 as
4 select y, count(*) cnt from t
5 group by y;Materialized view created.ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> create or replace trigger t_mv_trigger
2 after insert or update or delete
3 on t_mv
4 begin
5 if ( inserting )
6 then
7 dbms_output.put_line( 'Hey, I fired!! for insert' );
8 end if;
9 if ( deleting )
10 then
11 dbms_output.put_line( 'Hey, I fired!! for deleting' );
12 end if;
13 if ( updating )
14 then
15 dbms_output.put_line( 'Hey, I fired!! for updating' );
16 end if;
17 end;
18 /Trigger created.ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> insert into t values ( 1, 1 );1 row created.ops$tkyte@ORA817DEV.US.ORACLE.COM> exec null;PL/SQL procedure sUCcessfully completed.ops$tkyte@ORA817DEV.US.ORACLE.COM>
ops$tkyte@ORA817DEV.US.ORACLE.COM> commit;Commit complete.ops$tkyte@ORA817DEV.US.ORACLE.COM> exec null;
Hey, I fired!! for deleting
Hey, I fired!! for insertPL/SQL procedure successfully completed.  上面的lab給了我?guī)讉€新的學(xué)習(xí)  第一:mv每當(dāng)更新資料的程序并非update mv,而是先delete再insert新資料,我想的是那當(dāng)這個mv是非常龐大的時候,即時的refresh不就非常吃resource?  第二:exec null可以直接取出 DBMS_OUTPUT buffer的資訊。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 浮山县| 泾川县| 沾化县| 新乐市| 赤水市| 凤凰县| 贵定县| 建水县| 偃师市| 营山县| 延寿县| 舟山市| 天柱县| 富平县| 西吉县| 大名县| 余庆县| 崇义县| 南昌县| 深泽县| 平舆县| 阳曲县| 临邑县| 宾川县| 武宁县| 兴山县| 松潘县| 英吉沙县| 栾川县| 商水县| 岑溪市| 河池市| 于都县| 洛宁县| 平度市| 隆子县| 南皮县| 竹山县| 会同县| 永胜县| 博罗县|