oracle里這種declare語句塊叫什么家伙
declare age number(4);--聲明一個參數 a 類型為 number類型 長度為4begin select teaAge into age from teacher where teaid = 122; --查詢 teaid為122的teaAge 把teaAge的值放到age中 if age>24 then --當age的值大于24 dbms_*_line('da'); --就在控制臺輸出da dbms_output 是一個系統包 調用了包里面的put_line函數 else dbms_*_line('xiao');--如果小于24 輸出 xiao end if;--結束if語句end; --結束這個程序。
oracle begin 語句塊求助
給你個例子,不知道是不是你說的這樣
先說一下,oracle不能直接用select語句而不把查出的結果放到變量里,不過可以這樣
--這個是只能輸出一條記錄,多了會報錯,因為一個變量只能接收一個數值
declare
v_a int;
v_b number(10,2);
begin
select empno,sal into v_a,v_b from emp where empno=7369 ;
dbms_*_line(v_a||','||v_b);
end;
--再給你寫個結果集的
declare
v_a int;
v_b number(10,2);
cursor v_cur is select empno,sal from emp order by empno;
begin
open v_cur;
loop
fetch v_cur into v_a,v_b;
exit when v_cur%notfound;
dbms_*_line(v_a||','||v_b);
end loop;
close v_cur;
end;
oracle begin 語句塊求助
給你個例子,不知道是不是你說的這樣先說一下,oracle不能直接用select語句而不把查出的結果放到變量里,不過可以這樣--這個是只能輸出一條記錄,多了會報錯,因為一個變量只能接收一個數值declarev_a int;v_b number(10,2);begin select empno,sal into v_a,v_b from emp where empno=7369 ;dbms_*_line(v_a||','||v_b);end;--再給你寫個結果集的declarev_a int;v_b number(10,2);cursor v_cur is select empno,sal from emp order by empno;begin open v_cur; loop fetch v_cur into v_a,v_b; exit when v_cur%notfound; dbms_*_line(v_a||','||v_b); end loop; close v_cur;end;。
編寫PL/SQL語句塊
a.建立sequence
create sequence yao.s_app
start with 0
maxvalue 100000
minvalue 0
nocycle
nocache
noorder;
b.寫pl/sql塊
variable v_dname;
begin
insert into department
values(:dname,s_*l);
end;
————————————————————
環境:oracle 10g/toad 以上代碼均通過測試,如有問題,請聯系,謝謝
oracle數據庫中表、段、區、塊是什么意思
oracle的邏輯結構包括表空間(tablespace),段(segment),區(extent),數據塊(data block)
oracle數據庫在邏輯上是由多個表間組成的,表空間中存儲的對象叫段,比如數據段,索引段,和回退段。段由區組成,區是磁盤分配的最小單位。段的增大是通過增加區的個數來實現的。每個區的大小是數據塊大小的整數倍,區的大小可以不相同;數據塊是數據庫中最小的I/O單位,同時也是內存數據緩沖區的單位,及數據文件存儲空間單位。塊的大小由參數DB_BLOCK_SIZE設置,其值應設置為操作系統塊大小的整數倍。
表空間
表空間是Oracle數據庫最大的邏輯結構,一個Oracle數據庫在邏輯上由多個表空間組成,一個表空間只隸屬于一個數據庫。Oracle中有一個稱為SYSTEM的表空間,這個表空間是在創建或安裝數據庫時自動創建的。主要用于存儲系統的數據字典,過程,函數,觸發器等;也可以存儲用戶的表,索引等。一個表空間可以有多數據文件,但是一個數據文件只能屬于一個表空間。
一個表空間就是一片磁盤區域,他由一個或者多個磁盤文件組成,一個表空間可以容納許多表、索引或者簇等。每個表空間有一個預制的磁盤區域稱為初始區間(initial extent)用完這個區間后再用下一個,直到用完表空間,這時候需要對表空間進行擴展,增加數據文件或者擴大已經存在的數據文件
段
Oracle中的段可以分成4種類型:數據段、索引段、回滾段、臨時段。
數據段用來存儲用戶的數據,每個表都有一個對應的回滾段,其名稱和數據表的名字相同。索引段用來存儲系統、用戶的索引信息。回滾段用來存儲用戶數據修改前的值,回退段與事務是一對多的關系,一個事務只能使用一個回退段,而一個回退段可存放一個或多個事務的回退數據。臨時段用于order by語句的排序以及一些匯總。
區
區是磁盤空間分配的最小單位。磁盤按區劃分,每次至少分配一個區。區存儲于段中,它由連續的數據塊組成。區的分配過程中,每次至分配5個區。如果所剩的空閑空間不夠5個區,就會出現錯誤:ORA-01653。可以通過字典dba_tablespaces查詢表空間中區的信息。可以通過字典user_tables查詢段中區的信息。可以通過字典user_extents查詢區的分配狀況。我們可以通過以下SQL語句分別查詢表空間、段、區中區的分配信息
SQL>select * from dba_tablespaces;
SQL>select table_name, tablespace_name, min_extents, max_extents from user_tables;
SQL>select * from user_extents;
數據塊
數據塊是數據中中最小的數據組織單位與管理單位,是數據文件磁盤存儲空間單位,也是數據庫I/O 的最小單位,數據塊大小由DB_BLOCK_SIZE參數決定,不同的oracle版本DB_BLOCK_SIZE的默認值是不同的。