/* plSql編程語言 是在sql語句中加入處理過程的語句 條件判斷 if..else 迴圈結構 for() while do while 自己定義變數處理邏輯 基本結構 declare --聲明的部分 --定義變數的部分 begin --處理邏輯的代碼塊 ... ...
/*
plSql編程語言 是在sql語句中加入處理過程的語句
條件判斷 if..else 迴圈結構 for() while do while
自己定義變數處理邏輯
基本結構
declare
--聲明的部分
--定義變數的部分
begin
--處理邏輯的代碼塊
end;
*/
--------簡單的plSql示例
declare
--定義變數
v_n number(6) := 1;
v_s varchar2(10) :='s';
--新型變數
emp_ename emp.ename%type; --引用類型變數
emp_row emp%rowtype; --記錄類型變數
begin
dbms_output.put_line('v_n===='||v_n);
dbms_output.put_line('v_s===='||v_s); --相當於java的system.out.println();
select ename into emp_ename from emp where empno=7369; --查詢賦值使用關鍵字 into
select * into emp_row from emp where empno=7369;
dbms_output.put_line('emp_ename===='||emp_ename);
dbms_output.put_line('empno===='||emp_row.empno||'ename=='||emp_row.ename);
end;
/*
條件判斷
if .. then ..
elsif .. then
else
...
end if;
*/
--使用條件表達式判斷員工的工資 使用漢字輸出
declare
emp_row emp%rowtype; --記錄類型變數
begin
select * into emp_row from emp where empno=7369;
if emp_row.sal>3000 then
dbms_output.put_line('工資大於3000========'||emp_row.sal);
elsif emp_row.sal<1000 then
dbms_output.put_line('工資小於1000========='||emp_row.sal);
else
dbms_output.put_line('工資在1000和3000之間========'||emp_row.sal);
end if;
end;
/*
迴圈結構
loop
exit when 條件
end loop;
while 條件 loop
end loop;
for 變數 in 範圍 loop
end loop;
*/
--使用迴圈語句輸出 1-10的數字
declare
v_n number :=1;
begin
loop
exit when v_n>10 ;
dbms_output.put_line(v_n);
v_n:=v_n+1; --變數自增
end loop;
end;
-------------第二種方式
declare
v_n number :=1;
begin
while v_n<11 loop
dbms_output.put_line(v_n);
v_n:=v_n+1; --變數自增
end loop;
end;
---------------for迴圈-for(Customer c:list)
declare
begin
for i in 1..10 loop
dbms_output.put_line(i);
end loop;
end;