-
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 程序调用存储过程