Rumah > pangkalan data > Oracle > teks badan

Bagaimanakah Oracle menyemak di mana prosedur tersimpan dilaksanakan?

下次还敢
Lepaskan: 2024-04-18 21:57:16
asal
647 orang telah melayarinya

Kaedah untuk melihat kemajuan pelaksanaan prosedur tersimpan dalam Oracle ialah: gunakan pakej DBMS_OUTPUT untuk mengeluarkan maklumat kemajuan. Gunakan pakej DBMS_APPLICATION_INFO untuk mendapatkan maklumat pelaksanaan. Tanya paparan V$SESSION_LONGOPS untuk mendapatkan maklumat operasi yang panjang. Gunakan fungsi INSTR() untuk memeriksa kod dan maklumat kemajuan output.

Bagaimanakah Oracle menyemak di mana prosedur tersimpan dilaksanakan?

Cara menyemak kemajuan pelaksanaan prosedur tersimpan Oracle

Di Oracle, kaedah biasa untuk menyemak kemajuan pelaksanaan prosedur tersimpan adalah seperti berikut:

KELUAR

PUTDB1 Pakej DBMS_OUTPUT menyediakan keupayaan untuk mengeluarkan mesej kepada fungsi sesi Klien. Anda boleh menggunakan pakej ini dalam kod prosedur tersimpan untuk mengeluarkan maklumat kemajuan semasa pelaksanaan.

Contoh:

<code>DECLARE
  BEGIN
    DBMS_OUTPUT.PUT_LINE('处理第 1000 条记录...');
    /* 其他代码 */
  END;</code>
Salin selepas log masuk

2. Menggunakan pakej DBMS_APPLICATION_INFO

Pakej DBMS_APPLICATION_INFO membenarkan aplikasi mengakses maklumat tentang sesi semasa, termasuk penyata yang sedang dilaksanakan. Anda boleh menggunakan pakej ini dalam kod prosedur tersimpan untuk mendapatkan kemajuan pelaksanaan.

Contoh:

<code>DECLARE
  info VARCHAR2(4000);
BEGIN
  DBMS_APPLICATION_INFO.SET_MODULE('my_package', 'my_procedure');
  LOOP
    DBMS_APPLICATION_INFO.GET_MODULE_INFO(info);
    DBMS_OUTPUT.PUT_LINE(info);
    /* 其他代码 */
  END LOOP;
END;</code>
Salin selepas log masuk

3 Menggunakan paparan V$SESSION_LONGOPS

Pandangan V$SESSION_LONGOPS menyediakan maklumat tentang melaksanakan operasi yang lama, termasuk prosedur tersimpan. Anda boleh menanyakan pandangan ini untuk mendapatkan kemajuan pelaksanaan prosedur tersimpan.

Contoh:

<code>SELECT operation,
       elapsed_seconds,
       total_work
FROM V$SESSION_LONGOPS
WHERE operation_type = 'PARSE'
  AND operation LIKE '%my_procedure%';</code>
Salin selepas log masuk

4 Menggunakan fungsi INSTR()

INSTR() boleh digunakan untuk mencari kedudukan pertama di mana subrentetan berlaku dalam rentetan. Anda boleh menggunakan fungsi ini untuk memeriksa kod prosedur yang disimpan dan maklumat kemajuan output apabila bahagian berbeza dilaksanakan.

Contoh:

<code>DECLARE
  code VARCHAR2(4000);
BEGIN
  SELECT text INTO code FROM user_source WHERE name = 'my_procedure';
  DBMS_OUTPUT.PUT_LINE('执行到 ' || INSTR(code, '/* 进度信息 */') || ' 行...');
  /* 其他代码 */
END;</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Oracle menyemak di mana prosedur tersimpan dilaksanakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!