亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 4927 | 回復(fù): 1
打印 上一主題 下一主題

【討論】帶參數(shù)的游標(biāo)的寫(xiě)法 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2004-04-23 17:40 |只看該作者 |倒序?yàn)g覽
比較表中 cell_id相同的記錄在兩個(gè)不同時(shí)間段發(fā)生的更新,如某項(xiàng)發(fā)生變化則記錄到另一個(gè)表 test_ne_change 中
開(kāi)始寫(xiě)的,效率極低
  1. CREATE OR REPLACE PROCEDURE w_ne_change
  2. AS

  3.    CURSOR cur_new
  4.    IS
  5.       SELECT int_id, omc_id || ':' || msc_id || ':' || bsc_id AS related_id,
  6.              omc_id, msc_id, bsc_id, ne_name, cell_id, lac, freq_band,
  7.              trx_count, tch, sdcch, gprs_enabled, gprs_trx, dedicated_pdch,
  8.              max_pdch, device_type, software_version, dumpfre_type, site_no,
  9.              cell_no, rac, ncc, bcc, sms_cb_used, bsc_omc_int_id, omc_int_id,
  10.              TIMESTAMP
  11.         FROM appuser.W_C_CELL
  12.        WHERE TIMESTAMP = '2004-04-23 8' AND cell_id < 200;

  13.    CURSOR cur_old
  14.    IS
  15.       SELECT int_id, omc_id || ':' || msc_id || ':' || bsc_id AS related_id,
  16.              omc_id, msc_id, bsc_id, ne_name, cell_id, lac, freq_band,
  17.              trx_count, tch, sdcch, gprs_enabled, gprs_trx, dedicated_pdch,
  18.              max_pdch, device_type, software_version, dumpfre_type, site_no,
  19.              cell_no, rac, ncc, bcc, sms_cb_used, bsc_omc_int_id, omc_int_id,
  20.              TIMESTAMP
  21.         FROM appuser.W_C_CELL
  22.        WHERE TIMESTAMP = '2004-04-23 6' AND cell_id < 200;
  23. BEGIN
  24.    FOR v_new IN cur_new
  25.    LOOP
  26.       FOR v_old IN cur_old
  27.       LOOP
  28.          IF v_old.cell_id = v_new.cell_id
  29.          THEN
  30.             BEGIN
  31.                IF v_new.related_id <>; v_old.related_id
  32.                THEN
  33.                   INSERT INTO TEST_NE_CHANGE
  34.                               (omc_id, omc_int_id,
  35.                                ne_id, old_value,
  36.                                now_value, modify_item,
  37.                                modify_time
  38.                               )
  39.                        VALUES (v_new.omc_id, v_new.omc_int_id,
  40.                                v_new.cell_id, v_old.related_id,
  41.                                v_new.related_id, 'related_id',
  42.                                v_new.TIMESTAMP
  43.                               );

  44.                   COMMIT;
  45.                  
  46.                END IF;
  47.             END;
  48.          END IF;
  49.       END LOOP;
  50.    END LOOP;
  51. END;
復(fù)制代碼


效率太慢了,如果有一萬(wàn)條數(shù)據(jù)比較的話就超慢。高手們幫我看看吧

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2004-04-23 18:40 |只看該作者

【討論】帶參數(shù)的游標(biāo)的寫(xiě)法

如此改了一下,效率高了不少 :)

  1. CREATE OR REPLACE PROCEDURE x_ne_change
  2. AS
  3.    CURSOR cur_new
  4.    IS
  5.       SELECT int_id, omc_id || ':' || msc_id || ':' || bsc_id AS related_id,
  6.              omc_id, msc_id, bsc_id, ne_name, cell_id, lac, freq_band,
  7.              trx_count, tch, sdcch, gprs_enabled, gprs_trx, dedicated_pdch,
  8.              max_pdch, device_type, software_version, dumpfre_type, site_no,
  9.              cell_no, rac, ncc, bcc, sms_cb_used, bsc_omc_int_id, omc_int_id,
  10.              TIMESTAMP
  11.         FROM appuser.K_C_CELL
  12.        WHERE TIMESTAMP = '2004-04-23 8' AND cell_id < 2000;

  13.    CURSOR cur_old (c_no NUMBER)
  14.    IS
  15.       SELECT int_id, omc_id || ':' || msc_id || ':' || bsc_id AS related_id,
  16.              omc_id, msc_id, bsc_id, ne_name, cell_id, lac, freq_band,
  17.              trx_count, tch, sdcch, gprs_enabled, gprs_trx, dedicated_pdch,
  18.              max_pdch, device_type, software_version, dumpfre_type, site_no,
  19.              cell_no, rac, ncc, bcc, sms_cb_used, bsc_omc_int_id, omc_int_id,
  20.              TIMESTAMP
  21.         FROM appuser.K_C_CELL
  22.        WHERE TIMESTAMP = '2004-04-21 6' AND cell_id = c_no;
  23. BEGIN
  24.    FOR v_new IN cur_new
  25.    LOOP
  26.       FOR v_old IN cur_old (v_new.cell_id)
  27.       LOOP
  28.          BEGIN
  29.             IF v_new.related_id <>; v_old.related_id
  30.             THEN
  31.                INSERT INTO TEST_NE_CHANGE
  32.                            (omc_id, omc_int_id, ne_id,
  33.                             old_value, now_value,
  34.                             modify_item, modify_time
  35.                            )
  36.                     VALUES (v_new.omc_id, v_new.omc_int_id, v_new.cell_id,
  37.                             v_old.related_id, v_new.related_id,
  38.                             'related_id', v_new.TIMESTAMP
  39.                            );

  40.                COMMIT;
  41.             END IF;

  42.             IF v_new.tch <>; v_old.tch
  43.             THEN
  44.                INSERT INTO TEST_NE_CHANGE
  45.                            (omc_id, omc_int_id, ne_id,
  46.                             old_value, now_value, modify_item, modify_time
  47.                            )
  48.                     VALUES (v_new.omc_id, v_new.omc_int_id, v_new.cell_id,
  49.                             v_old.tch, v_new.tch, 'TCH', v_new.TIMESTAMP
  50.                            );

  51.                COMMIT;
  52.             END IF;
  53.          END;
  54.       END LOOP;
  55.    END LOOP;
  56. END;
  57. /
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP