oracle 變數的使用

2021-09-01 07:45:04 字數 2228 閱讀 7696

//oralce定義標量(scalar)

declare v_name varchar(20); //定義乙個varchar長度20的變數

declare v_number number(5,2); //定義乙個number長度5,精度2的變數

declare v_no number(5,2):=999.99; //定義乙個number長度5,精度2的變數,並附值999.99

declare date;//定義乙個date日期型別

declare flag boolean not null default false;//定義乙個boolean型別,不能為空,預設值是false

//oracle定義pl/sql復合型別變數(composite)

//表示定義乙個user_record_type的型別,這個型別有name和pass二個字段,

//並且型別和name和user.username一樣,pass和user.password一樣

declear

type user_record_type is record(name user.username%type,pass user.password%type);

sp_record user_record_type; //這句話的意思是定義乙個sp_record的 變數型別是user_record_type

--復合變數使用

begin

--執行部分

select username,passowrd into sp_record where usernaem='zhangsan';

--得到記錄

dbms_output.put_line('名字'||sp_record.name||' 密碼'||sp_record.pass); --得到值

end;

//oracle定義pl/sql復合型別表變數(composite)

//表示定義乙個user_table_type的型別

//並且只有乙個字段,型別和user.username一樣,索引index是整數

declear

type user_table_type is table of user.username%type,user.password%type index by binary_integer;

sp_table user_table_type; //這句話的意思是定義乙個sp_record的 變數型別是user_record_type

--復合變數使用

begin

--執行部分

select username,password into sp_table[0],sp_table[1] where id<=&id;

--得到記錄 sp_table[0的下標可以是負數,但是取值和賦值一樣,不然會報錯

dbms_output.put_line('名字'|sp_table[0]||'密碼'||sp_table[1]);

--sp_table[0]表示所有返回的name陣列

--sp_table[1]表示所有返回的password陣列

end;

//oracle使用乙個游標型別

declare

--定義乙個游標,名字是sp_user_cursor

type sp_user_cursor if ref cursor;

--定義乙個游標

sp_user sp_user_cursor;

--定義兩個變數,等迴圈用

v_username user.usernaem%type;

v_password user.password%type;

begin;

--執行部分

open sp_user for select username,password from user;

--取出資料

loop

fetch sp_user into v_username, v_password ;

--判斷sp_user是否為空,問空時就退出

exit when sp_user$notfound then

--控制台輸出

dbms_output.put_line('名字'||v_username||'密碼 '||v_password);

end loop;

--關閉游標

close sp_user;

end;

oracle 變數使用

在oracle 中,對於乙個提交的sql語句,存在兩種可選的解析過程,color red 一種叫做硬解析,一種叫做軟解析。color color red 乙個硬解析需要經解析,制定執行路徑,優化訪問計畫等許多的步驟。color 硬解析不僅僅耗費大量的cpu,更重要的是會佔據重要的門閂 latch 資...

oracle 變數使用

在oracle 中,對於乙個提交的sql語句,存在兩種可選的解析過程,color red 一種叫做硬解析,一種叫做軟解析。color color red 乙個硬解析需要經解析,制定執行路徑,優化訪問計畫等許多的步驟。color 硬解析不僅僅耗費大量的cpu,更重要的是會佔據重要的門閂 latch 資...

oracle 表型別變數的使用

oracle 表型別變數的使用 使用記錄型別變數只能儲存一行資料,這限制了select語句的返回行數,如果select語句返回多行就會錯。oracle提供了另外一種自定義型別,也就是表型別,它是對記錄型別的擴充套件,允許處理多行資料,類似於表。建立表型別的語法如下 type table name i...