第十八章:PL/SQL語言基礎
18.1.plsql與sql區分:plsql是sql的擴展;
18.2.PL/SQL的代碼塊結構:
18.2.1塊頭區;
塊頭區包括單元名字(FUNCTION PROCEDURE PACKAGE)和參數(IN\ OUT\ INOUT);
18.2.2.聲明區:
18.2.3.執行區:
18.2.4.異常區:
18.3.流程控制語句:
18.3.1.IF條件語句;
18.3.2.CASE條件語句;
18.3.3.循環語句;
LOOP;FOR LOOP;WHILE…LOOP;
18.3.4.分支語句; go..to…
18.4.創建過程:創建---編譯—執行;
o CREATE OR REPLACE PROCEDURE selectemp(employeeno IN INTEGER)
o IS
o employeename varchar2(20);
o employeejob varchar2(9);
o employeehiredate date;
o employeesal number(7,2);
o BEGIN
o select ename,job,hiredate,sal
o INTO employeename,employeejob,employeehiredate,employeesal
o FROM emp
o WHERE empno = employeeno;
o DBMS_OUTPUT.put_line ('員工姓名'
o ||employeename
o ||'員工崗位'
o ||employeejob
o ||'僱傭日期'
o ||employeehiredate
o ||'薪水'
o ||employeesal);
o EXCEPTION
o WHEN OTHERS
o THEN
o DBMS_OUTPUT.put_line('ERRORS!!!');
o END;
o / ----編譯
編譯:@f:\select.sql;
執行:execute select(7788);
數據字典查看:select object_name from user_procedures;
涉及參數:serveroutput;
18.5.存儲過程授權:
Create user cat identitied by miao;
Grant create session tocat;
Grant execute on select topublic;
Set serveroutput on;
Execute scott.select(7788);