declare
--宣告變數
test integer:=0;
test1 varchar2(100);
field1 yourtable.tablefield%type;
/*變數型別
char(character string rowid nchar)定長
varchar2(varchar, string nvarchar2)可變
binary_integer 帶符號整數,
number(p,s)
1.dec 小數, number的子型別
2.double precision 雙精度浮點126位實數
3.integer 整數, number的子型別
4.int numeric與number等價
5.real 精度達到63的實數型別
6.small int 整數,比 integer小
long 變長字串
date boolean
rowid 存放資料庫行號 urowid 通用行識別符號,字元型別*/
--陣列型別
type array1 is varray(5)
of varchar(100);
arrayname array1;
--記錄型別
type record1 is record(
testinteger:=0;
test1 varchar2(100);
recordname record1;
--游標型別
cursor curors(parameter1,parameter2)
return returnval
isselect *from yourtable
where conditions is null;
self_record curors%rowtype;
begin
--陣列賦值
arrayname := array1('val1', 'val2', 'val3', 'val4', 'val5');
--隱式游標
for t in()loop
end loop;
--顯式游標
open curors(parameter1 => value1, parameter2 => value2)
loop
fetch curorsinto self_record;
if curors%found then
null;
else
null;
exit;
end if;
end loop;
close curors;
--游標for迴圈
for t in curors(parameter1,parameter2) loop
null;
end loop;
--隱式游標名為sql
type1:=sql%rowcount;
--條件表示式
if conditions then
null;
end if;
if conditions then
null;
else
null;
end if;
if conditions then
null;
elsif conditionsthen
null;
elsif conditionsthen
null;
else
null;
end if;
--查詢賦值
select fieldinto parameter1
from yourtable
where conditions is null;
--內建函式
field1 := to_number('100.0') + 1;
field2 := to_char('123.45') ||'元';
field3 := to_date('1999-99-99','yyyy-mm-dd hh24:mi:ss');
field4 := to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');
str:=substr(field,startpos,length);
--輸出欄位和字串
dbms_output.put_line(field1||'string'||field2);
--異常處理
exception
when exception1 then null;
when exception2then null;
when
others then null;
end;
plsql程式案例
瀑布模型 統計每年入職的員工人數 sql語句 select to char hiredate,yyyy from emp 游標 迴圈 退出條件 notfound 變數 1.初始值 2.如何得到 每年入職的員工人數 count80 number 0 count81 number 0 count82 n...
PL SQL程式之例外
什麼是例外?例外是程式語言提供的一種功能,用來增強程式的健壯性和容錯性 oracle的異常處理 系統定義例外 no data found 沒有找到資料 too many rows select into語句匹配多個行 zero divide 被零除 value error 算術或轉換錯誤 timeo...
開發PL SQL子程式 過程
過程用於執行特定操作。如果應用程式經常需要執行特定操作,那麼可以基於這些操作建立特定的過程,不僅可以簡化客戶端應用程式的開發和維護,而且可以提高應用程式的執行效能。建立過程 例子 建立為雇員插入資料的過程 create orreplace procedure add emp eno number,n...