PLSQL的語法結構
DECLARE
-- 聲明變量 ①
BEGIN
-- 主要的程序執行過程 ②
EXCEPTION
--異常處理 ③
END;
打印一個 'hello world’
BEGIN
DBMS_OUTPUT.PUT_LINE('hello world');
END ;
使用變量 打印出 hello girls
DECLARE
V_STR VARCHAR2(30);--聲明變量V_STR
BEGIN
-- 初始化變量
V_STR := 'HELLO GIRLS'; -- 在BEGIN 中對變量賦值。
DBMS_OUTPUT.PUT_LINE(V_STR);
END ;
接收用戶輸入的信息,然後打印出來
DECLARE
-- 定義變量的時候,通過用戶輸入,給變量賦值
V_STR VARCHAR2(30) :=&隨便輸入點內容,就可以打印出來;
BEGIN
DBMS_OUTPUT.PUT_LINE(V_STR);
END ;
對變量進行重新賦值,並打印出 hello world
DECLARE
-- 定義變量的時候,通過用戶輸入,給變量賦值
V_STR VARCHAR2(30) :=&隨便輸入點內容,就可以打印出來;
BEGIN
-- 對變量 V_STR 重新賦值
V_STR := 'hello world' ;
DBMS_OUTPUT.PUT_LINE(V_STR);
END ;
通過查詢的方式
語法格式:
SELECT 值 INTO V_變量
輸入部門編號,打印出該部門的最高工資
DECLARE
-- 聲明所需的變量
V_DEPTNO NUMBER(2) :=&請輸入部門編號; --例如: 10
V_MAXSAL NUMBER(7,2);--最高工資變量
BEGIN
-- 執行過程
-- 通過 SELECT INTO 的方式給變量賦值
SELECT MAX(SAL)
INTO V_MAXSAL
FROM EMP
WHERE DEPTNO = V_DEPTNO; -- V_DEPTNO 相當於我們輸入的部門號 10
-- 打印變量的信息
DBMS_OUTPUT.PUT_LINE('部門'||V_DEPTNO||'的最高工資是:'||V_MAXSAL);
END ;
查詢出工資最高的員工的 姓名 ,工資,部門名稱
DECLARE
-- 聲明變量
V_ENAME VARCHAR2(10);--員工姓名
V_SAL NUMBER(7,2);--工資
V_DNAME VARCHAR2(10);--部門名稱
BEGIN
SELECT ENAME ,SAL ,DNAME
INTO V_ENAME,V_SAL,V_DNAME
FROM (
SELECT E.ename ,E.sal ,D.dname ,MAX(E.sal)OVER() MAXSAL
FROM EMP E ,DEPT D
WHERE E.deptno = D.deptno)
WHERE SAL = MAXSAL;
-- 打印 變量 信息
DBMS_OUTPUT.PUT_LINE(V_ENAME||' '||V_SAL||' '||V_DNAME);
END ;