PL SQL 概述與基礎語法

2021-08-23 14:40:39 字數 3376 閱讀 9361

第乙個pl/sql程式

--開啟輸出開關

set serveroutput on

/declare

--說明部分(變數,游標或者例外)

begin

--程式體

dbms_output.put_line(『helllo world』);

end;

/dbms_output:程式包

--檢視程式包的結構

desc dbms_output

pl/sql簡介

pl/sql(procedure language/sql)

plsql是oraclr對sql語言的過程化擴充套件

--指在sql命令語言中增加過程處理語句(如分子支、迴圈等),是sql語言具有過程處理能力。

不通過資料庫的sql擴充套件不同:

oracle:pl/sql

db2:sql/pl

sql server:transac-sql(t-sql)

pl/sql

的程式結構

declare

說明部分(變數說明、游標申明。例外說明)

begin

語句序列(dml語句)

exception

例外處理語句

end;

/定義基本變數

型別:char,varchar2,date,number,boolean,long

舉例:var1 char(15);

married boolean:=true;

psal number(7,2);

引用型變數

舉例:--my_name:變數名,emp:表名,ename:表裡面的欄位名

--把該字段型別作為該變數的型別,該欄位型別改變,引用的型別也會跟著改變。

my_name emp.ename%type;

set serveroutput on

declare

--定義引用型變數:查詢並列印7839的姓名和薪水

--pename emp.ename%type;

--psal emp.sal%type;

begin

--得到7839的姓名和薪水

select ename,sal into pename,psal from emp where empno=7839;

--列印姓名和薪水

dbms_output.put_line(pename||』的薪水是』||psal);

end;

/記錄型變數

舉例:--emp_res:變數名,emp:表名

-- 取表中一行的型別作為變數的型別,可以把記錄型變數理解為乙個陣列,陣列中的每乙個元素代表表中的每一列。

emp_res emp%rowtype;

記錄型變數的引用

emp_res.ename :=』adams』;

例:set serveroutput on

declare

--定義記錄型變數:代表一行

emp_rec emp%rowtype;

begin

--得到7839一行的資訊

select * into emp_rec from emp where empno=7839;

--列印姓名和薪水

dbms_output.put_line(emp_rec.ename||』的薪水是』||emp+rec.sal);

end;/if

語句 if 條件 then 語句1;

語句2;

end if;

if 條件 then 語句序列1;

else 語句序列2;

end if;

if 條件 then 語句;

elsif 語句 then 語句;

else 語句;

edn if;

if語句案例

/*判斷使用者從鍵盤輸入的數字

如何使用if語句

接收乙個鍵盤輸入(鍵盤輸入的都是字串)

*/select serveroutput on

accept num prompt 『請輸入乙個數字』;

declare

--定義變數儲存使用者從鍵盤輸入的數字

pnum number:=#

begin

--執行if語句進行條件判斷

if pnum=0 then dbms_output.output_line(『您輸入的數字是0』);

elsif pnum =1 then dbms_output.output_line(『您輸入的數字是1』);

elsif pnum=2 then dbms_output.output_line(『您輸入的數字是2』);

else dbms_output.put_line(『其他數字』);

end if;

end;

/迴圈語句 1、

while total <=25000 loop

…total:=total+sa;ary

end loop;

例:--使用while迴圈列印數字1-10

set serveroutput on

declare

--定義迴圈變數

pnum number:=1;

begin

while pnum<=10 loop

--迴圈體

dbms_output.put_line(pnum);

--使該變數+1

pnum:=pnum+1;

end loop;

end;/2、

loop

exit[when 條件]

……end loop;

例;--使用loop迴圈列印1-10

select serveroutput on

declare

--定義迴圈變數

pnum number:=1;

begin

loop

--退出條件:迴圈大於10

exit when pnum>10;

--列印該變數的值

dbms_output.put_line(pnum);

--迴圈變數+1

pnum:=pnum+1;

end loop;

end;/3、

for i in 1..3 loop

語句序列;

end loop;

例;--使用for迴圈列印1-10

set serveroutput on

declare

--定義迴圈變數

pnum number:=1;

begin

for pnum in 1..10 loop

dbms_output.put_line(pnum);

end loop;

end;

/

PL SQL基礎語法

1.分支結構 pl sql中,使用if關鍵字作為分之結構的程式起始段。總體有以下幾種分支結構 1 if condition then statement end if 2 if condition then statement else then statement end if 3 if cond...

PLSQL語法基礎

變數普通變數宣告方式示例 created on 2019 7 17 by zhou declare v name varchar 20 v sal number v addr varchar 20 begin v name 張三 v sal 10000 select 長沙 into v addr f...

PL SQL之基礎語法

declare 說明部分 變數說明 游標申明 例外說明 begin 語句序列 dml語句 exception 例外處理語句 end 1 定義基本變數 2 型別 char,varchar2,date,number,boolean,long 3 舉例 var1 char 15 married boole...