Jadual Kandungan
Cara mengisytiharkan dan menetapkan pembolehubah dalam prosedur tersimpan Oracle
Rumah pangkalan data Oracle Apakah kaedah untuk memberikan nilai kepada pembolehubah dalam prosedur tersimpan Oracle?

Apakah kaedah untuk memberikan nilai kepada pembolehubah dalam prosedur tersimpan Oracle?

Jan 25, 2022 pm 04:57 PM
oracle tugasan berubah-ubah prosedur tersimpan

Kaedah untuk memberikan nilai kepada pembolehubah: 1. Gunakan ":=" untuk menetapkan nilai secara langsung, sintaksnya ialah "nama pembolehubah:=value;" 2. Gunakan medan "pilih jadual ke dalam pembolehubah dari penyataan" jadual; 3. Gunakan penyataan " laksanakan rentetan pernyataan sql segera ke dalam pembolehubah".

Apakah kaedah untuk memberikan nilai kepada pembolehubah dalam prosedur tersimpan Oracle?

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Oracle 11g, komputer Dell G3.

Cara mengisytiharkan dan menetapkan pembolehubah dalam prosedur tersimpan Oracle

1. 3 cara untuk mengisytiharkan pembolehubah

Bezakan mengikut kaedah pengisytiharan jenis data

Kaedah 1: Istihar terus jenis data

Format: jenis data nama ubah (saiz)

V_START_DATE VARCHAR2(19);
v_num number;
Salin selepas log masuk

 Nota:

Apabila ditetapkan kepada jenis rentetan, saiz perlu ditentukan, jika tidak, ralat akan dilaporkan; pengisytiharan pembolehubah mestilah dalam kekunci "mulakan" Jalankan sebelum perkataan.

Kaedah 2: Gunakan pernyataan %TYPE

--错误用法
BEGIN
v_sql varchar2(100) := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)';
Salin selepas log masuk

Format: nama jadual nama pembolehubah. Nama medan %TYPEMaksud: Jenis data pembolehubah adalah konsisten dengan jenis data medan yang ditentukan dalam jadual yang ditentukan

Kaedah 3: Gunakan pernyataan %ROWTYPE

Format: nama pembolehubah nama jadual % ROWTYPE
V_ORGSEQ BASE_ORG_INFO.ORGSEQ%TYPE;
Salin selepas log masuk

Maksud : Jenis data pembolehubah ini konsisten dengan jenis data rekod baris yang ditentukan (semua medan) jadual yang ditentukan

Ringkasan:

--VIRTUAL_CARD表整行数据
V_ROW_VIRTUAL_CARD VIRTUAL_CARD%ROWTYPE; 
Salin selepas log masuk
Dalam prosedur tersimpan, apabila mengisytiharkan pembolehubah, Tidak perlu menggunakan kata kunci "DECLARE"; ;

Pembolehubah mesti digunakan sebelum menggunakan pernyataan.

2 cara penugasan berubah

Kaedah 1: Tugasan langsung, gunakan ":="

Syarat penggunaan: terpakai pada dua cara pertama untuk mengisytiharkan pembolehubah.

Penjelasan:

Pembolehubah tidak boleh diikuti secara langsung dengan penyataan sql tidak akan dilaksanakan Anda boleh merujuk kepada kaedah tiga.

 

Pengisytiharan pembolehubah dan tugasan boleh dilakukan bersama.
V_ORGID :=  '110';  
Salin selepas log masuk

Kaedah 2: pilih medan jadual ke dalam pembolehubah daripada jadual

--错误用法
V_ORGSEQ := SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO;
--正确用法
V_ORGSEQ := 'SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO';
Salin selepas log masuk
Variasi 1: Tanya medan tertentu bagi jadual yang ditentukan

Syarat penggunaan: Dua cara pertama untuk mengisytiharkan pembolehubah boleh digunakan

--正确用法
v_sql varchar2(100) := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)';
BEGIN
 /* 具体业务 */
END;
Salin selepas log masuk

Variasi 2: Tanya semua medan jadual yang ditentukan

Syarat penggunaan:

Hanya terpakai kepada cara ketiga untuk mengisytiharkan pembolehubah

Penerangan:

--根据医疗机构ID查询对应的父机构的机构序列
SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO
 WHERE ORGID =
       (SELECT PARENTORGID FROM BASE_ORG_INFO WHERE ORGID = V_ORGID);
Salin selepas log masuk

Hasil pertanyaan hanya boleh mengembalikan satu rekod;

Medan jadual yang ditanya mestilah semua medan dalam jadual.

Contoh ralat:
--将id=5120的VIRTUAL_CARD表数据赋值给变量V_ROW_VIRTUAL_CARD
SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T where t.id = 5120;
Salin selepas log masuk

Kaedah 3: laksanakan rentetan pernyataan sql segera ke dalam pembolehubah

3. Memanggil pembolehubah

--错误举例一:查询的是所有表记录
SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T;
--错误举例二:查询的是该表的多个字段
SELECT t.id,t.name INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T;  
Salin selepas log masuk
Secara umumnya, pembolehubah hanya mempunyai tiga senario penggunaan ini: tugasan, pertimbangan logik, operasi aritmetik; digunakan sebagai lajur pertanyaan

Bagaimana untuk memanggil pembolehubah yang diisytiharkan menggunakan %ROWTYPE?
declare/* 存储过程,不需要声明 */
  v_sql varchar2(100);
  V_ORGSEQ varchar2(100);
begin
  v_sql := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)';
  --V_ORGSEQ赋值
  execute immediate v_sql INTO V_ORGSEQ;
  --打印结果
  DBMS_OUTPUT.put_line(V_ORGSEQ);
END;
Salin selepas log masuk

Menggunakan kaedah "nama pembolehubah. medan jadual", anda boleh mendapatkan data yang diwakili oleh lajur yang ditentukan (mana-mana lajur) baris yang ditentukan (baris kembali) dalam jadual. Tutorial yang disyorkan: "Tutorial Oracle

"

Atas ialah kandungan terperinci Apakah kaedah untuk memberikan nilai kepada pembolehubah dalam prosedur tersimpan Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memeriksa saiz meja oracle Cara memeriksa saiz meja oracle Apr 11, 2025 pm 08:15 PM

Untuk menanyakan saiz ruang meja oracle, ikuti langkah -langkah berikut: Tentukan nama meja dengan menjalankan pertanyaan: pilih Tablespace_Name dari DBA_TableSpaces; Tanya saiz meja dengan menjalankan pertanyaan: pilih jumlah (bait) sebagai total_size, jumlah (bytes_free) sebagai tersedia_space, jumlah (bytes) - jumlah (bytes_free) sebagai digunakan_space dari dba_data_files di mana tablespace_

Cara mengimport pangkalan data oracle Cara mengimport pangkalan data oracle Apr 11, 2025 pm 08:06 PM

Kaedah Import Data: 1. Gunakan utiliti SQLLoader: Sediakan fail data, buat fail kawalan, dan jalankan SQLLoader; 2. Gunakan alat IMP/EXP: data eksport, data import. Petua: 1. Disyorkan SQL*loader untuk set data besar; 2. Jadual sasaran harus wujud dan perlawanan definisi lajur; 3. Selepas mengimport, integriti data perlu disahkan.

Cara menyahpasang pemasangan Oracle gagal Cara menyahpasang pemasangan Oracle gagal Apr 11, 2025 pm 08:24 PM

Nyahpasang Kaedah untuk kegagalan pemasangan Oracle: Tutup Perkhidmatan Oracle, Padam Fail Program Oracle dan Kekunci Pendaftaran, Nyahpasang pembolehubah persekitaran Oracle, dan mulakan semula komputer. Jika penyahpasang gagal, anda boleh menyahpasang secara manual menggunakan alat penyahpasang Oracle Universal.

Cara membuat jadual di oracle Cara membuat jadual di oracle Apr 11, 2025 pm 08:00 PM

Mewujudkan Jadual Oracle melibatkan langkah -langkah berikut: Gunakan sintaks Create Table untuk menentukan nama jadual, nama lajur, jenis data, kekangan, dan nilai lalai. Nama jadual harus ringkas dan deskriptif, dan tidak boleh melebihi 30 aksara. Nama lajur hendaklah menjadi deskriptif, dan jenis data menentukan jenis data yang disimpan dalam lajur. Kekangan tidak null memastikan bahawa nilai null tidak dibenarkan dalam lajur, dan klausa lalai menentukan nilai lalai untuk lajur. Kekangan utama utama untuk mengenal pasti rekod unik jadual. Kekangan utama asing menentukan bahawa lajur dalam jadual merujuk kepada kunci utama dalam jadual lain. Lihat penciptaan pelajar jadual sampel, yang mengandungi kunci utama, kekangan unik, dan nilai lalai.

Cara melihat contoh nama oracle Cara melihat contoh nama oracle Apr 11, 2025 pm 08:18 PM

Terdapat tiga cara untuk melihat nama contoh di Oracle: Gunakan "sqlplus" dan "pilih instance_name dari v $ instance;" Perintah pada baris arahan. Gunakan "pertunjukan instance_name;" Perintah dalam SQL*Plus. Semak Pembolehubah Alam Sekitar (ORACLE_SID pada Linux) melalui Pengurus Tugas Sistem Operasi, Pengurus Oracle Enterprise, atau melalui sistem operasi.

Cara menyulitkan pandangan oracle Cara menyulitkan pandangan oracle Apr 11, 2025 pm 08:30 PM

Penyulitan Oracle View membolehkan anda menyulitkan data dalam pandangan, dengan itu meningkatkan keselamatan maklumat sensitif. Langkah -langkah termasuk: 1) mewujudkan kunci penyulitan induk (MEK); 2) mencipta pandangan yang disulitkan, menyatakan pandangan dan MEK untuk disulitkan; 3) Memberi kuasa pengguna untuk mengakses pandangan yang disulitkan. Bagaimana pandangan yang disulitkan berfungsi: Apabila permintaan pengguna untuk paparan yang disulitkan, Oracle menggunakan MEK untuk menyahsulit data, memastikan bahawa hanya pengguna yang diberi kuasa dapat mengakses data yang boleh dibaca.

Cara menambah medan meja ke oracle Cara menambah medan meja ke oracle Apr 11, 2025 pm 07:30 PM

Gunakan pernyataan ALTER Jadual, sintaks khusus adalah seperti berikut: alter table table_name Tambah column_name data_type [kekangan-klausa]. Di mana: Table_name adalah nama jadual, column_name adalah nama medan, data_type adalah jenis data, dan kekangan-fasal adalah kekangan pilihan. Contoh: Alter Table Pekerja menambah e -mel varchar2 (100) Tambahkan medan e -mel ke jadual pekerja.

Cara menyampaikan semula oracle Cara menyampaikan semula oracle Apr 11, 2025 pm 07:33 PM

Oracle menyediakan pelbagai kaedah pertanyaan deduplikasi: Kata kunci yang berbeza mengembalikan nilai yang unik untuk setiap lajur. Kumpulan oleh klausa mengumpulkan hasil dan mengembalikan nilai tidak berulang bagi setiap kumpulan. Kata kunci yang unik digunakan untuk membuat indeks yang mengandungi hanya baris unik, dan pertanyaan indeks akan secara automatik deduplicate. Fungsi row_number () memberikan nombor unik dan menapis hasil yang mengandungi hanya baris 1. Min () atau max () mengembalikan nilai tidak berulang dari lajur angka. Operator Intersect mengembalikan nilai -nilai bersama kedua -dua set hasil (tiada pendua).

See all articles