Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 12902|Jawab: 1

[Sumber] Kursor normal Oracle, kursor implisit, dan kursor berparameter

[Salin tautan]
Diposting pada 19/03/2015 10.53.06 | | |
pilih * dari stuinfo;
--Kursor implisit
mulai
    dbms_output.put_line('Kueri sebelum:'|| sql%rowcount);
    perbarui stuinfo set stusex = 'perempuan';
    dbms_output.put_line('Setelah kueri:'|| sql%rowcount);
akhir;

--kursor eksplisit
--1. Umum
menyatakan
    Kursor MyCur1 dipilih * dari Stuinfo; --definisikan kursor
    --v_id stuinfo.stuid%type;
    --v_name stuinfo.stuname%type;
    --v_sex stuinfo.stusex%type;
    --v_bir stuinfo.stubir%type;
    v_row stuinfo%rowtype;
mulai
    buka mycur1; --Buka kursor
    lingkaran
    --ambil mycur1 ke dalam v_id,v_name,v_sex,v_bir; --Gerakkan kursor ke bawah untuk memasukkan nilai baca ke dalam variabel
    ambil mycur1 ke dalam v_row; --Baca kursor
    keluar ketika mycur1%notfound;
    --dbms_output.put_line('id:'|| v_id||', nama: '|| v_name||', jenis kelamin: '|| v_sex||' Ulang tahun: '|| v_bir); --Hasil keluaran
    dbms_output.put_line('id:'|| v_row.stuid||', nama: '|| v_row.stuname||', gender: '|| v_row.stusex||' Ulang tahun: '|| v_row.stubir);
    lingkaran akhir;
    tutup mycur1; --Matikan kursor
akhir;

--2. Versifier dengan parameter
menyatakan
    kursor mycur1(v_sex stuinfo.stusex%type) dipilih * dari stuinfo di mana stusex = v_sex; --definisikan kursor
    v_row stuinfo%rowtype;
mulai
    buka mycur1('&gender'); --Buka kursor
    lingkaran
    ambil mycur1 ke dalam v_row; --Baca kursor
    keluar ketika mycur1%notfound;
    dbms_output.put_line('id:'|| v_row.stuid||', nama: '|| v_row.stuname||', gender: '|| v_row.stusex||' Ulang tahun: '|| v_row.stubir);
    lingkaran akhir;
    tutup mycur1; --Matikan kursor
akhir;

--3. Kursor melingkar
menyatakan
    Kursor MyCur1 dipilih * dari Stuinfo; --definisikan kursor
mulai
    untuk v_row di mycur1
    lingkaran
        dbms_output.put_line('id:'|| v_row.stuid||', nama: '|| v_row.stuname||', gender: '|| v_row.stusex||' Ulang tahun: '|| v_row.stubir);
    lingkaran akhir;
akhir;

--4. Perbarui data dengan kursor
menyatakan
    Kursor MyCur1 adalah Pilih * dari Stuinfo untuk pembaruan; --definisikan kursor
mulai
    untuk v_row di mycur1
    lingkaran
        jika v_row.stuid = '003' maka
           hapus dari stuinfo di mana arus mycur1;
        yang lain
           update stuinfo set stusex = 'laki-laki' di mana arus mycur1;
        berakhir jika;
    lingkaran akhir;
akhir;

pilih * dari stuinfo;
update stuinfo set stusex = 'female' di mana stuid = '002';

--kursor referensi
--1. Tipe lemah
menyatakan
    type curname adalah kursor ref; --define jenis kursor (curname adalah nama jenis)
    mycur1 curname; --
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
    v_row2 subinfo%rowtype;
mulai
    v_sex := '& gender';
    jika v_sex = 'laki-laki' maka
       buka mycur1 untuk pilih * dari stuinfo di mana stusex = 'laki-laki';
        lingkaran
        ambil mycur1 ke dalam v_row; --Baca kursor
        keluar ketika mycur1%notfound;
        dbms_output.put_line('id:'|| v_row.stuid||', nama: '|| v_row.stuname||', gender: '|| v_row.stusex||' Ulang tahun: '|| v_row.stubir);
        lingkaran akhir;
    yang lain
       Buka MyCur1 untuk Pilih * dari subinfo;
       lingkaran
        ambil mycur1 ke dalam v_row2; --Baca kursor
        keluar ketika mycur1%notfound;
        lingkaran akhir;
    berakhir jika;
    tutup mycur1; --Matikan kursor
akhir;
pilih * dari subinfo;

--Tipe yang kuat
menyatakan
    type curname adalah kursor ref mengembalikan stuinfo%rowtype;
    mycur1 curname;
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
mulai
    v_sex := '& gender';
    jika v_sex = 'laki-laki' maka
       buka mycur1 untuk pilih * dari stuinfo di mana stusex = 'laki-laki';
    yang lain
       buka mycur1 untuk select * dari stuinfo di mana stusex = 'female';
    berakhir jika;

    lingkaran
        ambil mycur1 ke dalam v_row; --Baca kursor
        keluar ketika mycur1%notfound;
        dbms_output.put_line('id:'|| v_row.stuid||', nama: '|| v_row.stuname||', gender: '|| v_row.stusex||' Ulang tahun: '|| v_row.stubir);
    lingkaran akhir;
    tutup mycur1; --Matikan kursor
akhir;







Mantan:"Permainan Kekayaan dan Catur" - mengungkapkan kisah dalam cinta, tempat kerja, dan ujian masuk pascasarjana
Depan:php5.2.17 perlu mengubah nilai cgi.force_redirect 1 menjadi 0 saat menginstal
Diposting pada 19/03/2015 11.21.08 |
Sisihkan lesson6.rar (920 Bytes, Jumlah unduhan: 0)
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com