declare --
說明部分(變數說明、游標申明、例外說明)
begin --
語句序列(dml語句)
exception --
例外處理語句
end; /
(1).定義基本變數
(2).型別:char,varchar2,date,number,boolean,long
(3).舉例:var1 char(15);
married boolean :=true;
psal number(7,2);
(4).eg:
--使用基本變數型別
declare
--定義基本變數型別
--pnumber number(7,2);基本資料型別
pname varchar2(20);--字串變數
pdate date;--日期變數
begin
pnumber :=1;
dbms_output.put_line(pnumber);
pname :='tom';
dbms_output.put_line(pname);
pdate :=sysdate;
dbms_output.put_line(pdate);
dbms_output.put_line(pdate+1);--計算明天的日期
end; /
(1).引用型變數
(2).舉例
my_name emp.ename%type;
(引用emp表中ename列的型別作為變數my_name的型別,並且變數的型別始終與其保持一致)
(3).eg:
set serveroutput on
declare
pename emp.ename%type;
psal emp.sal%type;
begin
select ename,sal into pename,psalfrom emp where empno=7839;
dbms_output.put_line(pename||'
的薪水是'||psal);
end; /
tips
:賦值的時候用「:=」,在select語句中可以用關鍵字into,連線字串用||。
(1).記錄型變數
(2).舉例:emp_rec emp%rowtype;(記錄型變數代表的是表中的一行資料,以一整行的資料作為乙個變數型別,把記錄型變數理解為乙個陣列,而在這個陣列中的每乙個元素代表這一行中的每一列資料)
(3).記錄型變數分量的引用:emp_rec.ename :=』adams』;
(4).eg:
set serveroutput on
declare
emp_rec emp%rowtype;
begin
select * into emp_rec from empwhere empno=7839;
dbms_output.put_line(emp_rec.ename||'
的薪水是'||emp_rec.sal);
end; /
(1).if條件then語句1;
語句2;
end if;
(2).if條件then語句序列1;
else 語句序列2;
end if;
(3).if條件then語句;
elsif語句then語句;
else
語句;
end if;
(4).eg:
set serveroutput on
accept num prompt'
請輸入乙個數字';
declare
pnum number := #
begin
if pnum = 0 thendbms_output.put_line('
您輸入的數字是0');
elsif pnum = 1 thendbms_output.put_line('
您輸入的數字是1');
elsif pnum = 2 thendbms_output.put_line('
您輸入的數字是2');
else dbms_output.put_line('
其他數字');
end if;
end; /
tips
:accept(從鍵盤接收) num(變數名) prompt(提示)'請輸入:'
num的含義是位址值,定義儲存時在num前加&;
= --
判斷,:= --賦值。
(1).while total<=25000 loop …
total := total+salary;
end loop;
eg:set serveroutput on
declare
pnum number := 1;
begin
while pnum <=10 loop
dbms_output.put_line(pnum);
pnum:= pnum + 1;
end loop;
end; /
(2).loop
exit[when條件];…
end loop;
eg:set serveroutput on
declare
pnum number := 1;
begin
loop
exit when pnum>10;
dbms_output.put_line(pnum);
pnum := pnum + 1;
end loop;
end; /
(3).for i in 1..3 loop(in後邊的必須連續)
語句序列;
end loop;
eg: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 概述與基礎語法
第乙個pl sql程式 開啟輸出開關 set serveroutput on declare 說明部分 變數,游標或者例外 begin 程式體 dbms output.put line helllo world end dbms output 程式包 檢視程式包的結構 desc dbms outpu...