PLSQL編程
一、PLSQL的概念:
PLSQL編程:procedure Language 程序語言 Oracle對SQL的一個擴展
讓我們能夠讓像在Java當中一樣寫if else else if 條件,還可以撰寫相應的回圈邏輯 for while
二、語法
declare
-- 宣告變數
變數名 變數型別;
變數名 變數型別 := 初始值;
begin
-- 撰寫業務邏輯
end;
三、語法代碼
dbms_output.put_line();相當于Java當中的System.out.printf("");
declare
i varchar2(10) := '張三';
begin
dbms_output.put_line(i);
end;

四、查詢7369的工資,并且大于出來
vsal emp.sal%type; --參考型的變數
declare
vsal emp.sal%type;
begin
select sal from emp where empno = 7369;
end;


vrow emp%rowtype; -- 宣告記錄型變數
declare
vrow emp%rowtype; -- 行型別一行記錄
begin
select * into vrow from emp where empno = 7369;
dbms_output.put_line('姓名:'|| vrow.ename || '工資' || vrow.sal);
end;

輸出結果

五、PLSQL當中的條件判斷
1、根據不同年級輸出相關內容
declare
age number := 20;
begin
if age < 18 then
dbms_output.put_line('小屁孩');
elsif age >= 18 and age <= 24 then
dbms_output.put_line('年輕人');
elsif age > 24 and age < 40 then
dbms_output.put_line('中年人');
else
dbms_output.put_line('老年人');
end if;
end;


2、當age number := &aaa;的時候,代表一個未知的變數,需要手動輸入
declare
age number := &aaa;
begin
if age < 18 then
dbms_output.put_line('小屁孩');
elsif age >= 18 and age <= 24 then
dbms_output.put_line('年輕人');
elsif age > 24 and age < 40 then
dbms_output.put_line('中年人');
else
dbms_output.put_line('老年人');
end if;
end;




六、PLSQL的回圈
1、while回圈
(1)語法
while 條件 loop
end loop;
(2)輸出1-10
declare
i number := 1;
begin
while i <= 10 loop
dbms_output.put_line(i);
i:=i+1;
end loop;
end;

2、for回圈:
(1)語法
for 變數 in 起始值.. 結束值 loop
end loop;
(2)輸出1-10
declare
begin
for i in 1..10 loop
dbms_output.put_line(i);
end loop;
end;

(3)倒敘輸出輸出1-10
declare
begin
for i in reverse 1..10 loop
dbms_output.put_line(i);
end loop;
end;

3、loop回圈:
(1)語法
loop
exit when 條件
end
loop;
(2)輸出1-10
declare
i number :=1;
begin
loop
exit when i > 10;
dbms_output.put_line(i);
i := i + 1;
end loop;
end;


4、用*號輸出菱形
*
***
*****
***
*
使用PLSQL輸出菱形

declare
m number := 2;
begin
for x in -m..m loop
for y in -m..m loop
if abs(y) + abs(x) <= m then
dbms_output.put('*');
else
dbms_output.put(' ');
end if;
end loop;
dbms_output.new_line();
end loop;
end;

5、使用PLSQL輸出三角形,只要是三個角
-- 使用PLSQL輸出三角形,只要是三個角
declare
m number := 20;
begin
for x in -m..m loop
for y in -m..m loop
if abs(y) + abs(x) <= m and x<=0 then
dbms_output.put('*');
else
dbms_output.put(' ');
end if;
end loop;
dbms_output.new_line();
end loop;
end;


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/26917.html
標籤:其他
上一篇:這次是真拯救了我,MySQL索引優化,explain講得非常清楚了
下一篇:MySQL字串拼接、截取
