-
PLSQL 的概念和目的
是oracle 對sql語言的過程化擴展
方法由服務器的代碼 寫在數據庫中 ,可以減少服務器和數據庫的網絡交互 ,提高運行效率
-
PLSQL 入門 helloworld
不區分大小寫,字符串用單引號 ' '
SQL> set serveroutput on --打開輸出
SQL> BEGIN
2 DBMS_OUTPUT.PUT_LINE('Hello world!');
3 END;
4 / -- /表示執行
-
普通變量
- 變量
- 普通數據變量:char,varchar2,date,number,boolean,long
- 變量聲明
變量名 變量類型(變量長度) eg:v_name varchar2(20)
- 變量賦值
- 直接語句賦值 v_name : = '張三';
- 語句賦值 使用select...into...賦值,(語法:select 值 into 變量)
2 declare 3 -- Local variables here 4 --姓名 5 v_name VARCHAR2(50) := '張三'; 6 v_salary NUMBER(6,2); 7 v_addr VARCHAR2(200); 8 begin 9 -- Test statements here 10 v_salary := 1500; 11 --語句賦值 12 SELECT '上海' INTO v_addr FROM dual; 13 --打印變量 14 dbms_output.put_line('姓名:'||v_name||'薪水:'||v_salary||'地址:'||v_addr); 15 end;
- 變量
-
引用型變量
變量的類型和長度取決於表中字段的類型和長度。
通過表名.列名%TYPE 指定變量的類型和長度。例如: v_name emp.ename%TYPE;
引用型變量的好處:
使用普通變量定義方式,需要指定表中字段的類型,而使用引用類型,不需要知道類型,使用%TYPE是非常好的編程風格,更適應於對數據庫定義的更新
--查詢emp表中7839號員工的個人信息,打印姓名和薪水
DECLARE
-- Local variables here
--姓名
V_NAME EMP.ENAME%TYPE;
--薪水
V_SAL EMP.SAL%TYPE;
BEGIN
-- Test statements here
--查詢姓名和薪水,並賦值給變量
SELECT ENAME, SAL INTO V_NAME, V_SAL FROM EMP WHERE EMP.EMPNO = 7839;
--打印變量
DBMS_OUTPUT.PUT_LINE('姓名:' || V_NAME || '薪水:' || V_SAL);
END;
-
記錄性變量
接受表中的一整行記錄,相當於java中的一個對象語法: 變量名稱 表名%ROWTYPE,例如: v_emp emp%ROWTYPE;
示例:查詢emp表中7839號員工的個人信息打印,姓名和薪水
--查詢emp表中7839號員工的個人信息 DECLARE -- Local variables here --記錄型變量 v_emp emp%ROWTYPE; BEGIN -- Test statements here SELECT * INTO v_emp FROM EMP WHERE EMPNO='7839'; --打印信息 --v_emp相當於一個對象,ename相當於它的屬性 DBMS_OUTPUT.PUT_LINE('姓名:' || v_emp.ename || '薪水:' || v_emp.sal); END;
-
條件分支
-
循環
-
無參遊標
-
帶參遊標
-
存儲過程的概念和作用
-
無參數存儲過程
-
帶參數的存儲過程
-
java 程序調用存儲過程