ORACLE /PLSQL 存储过程

本文详细介绍了Oracle的PL/SQL编程,包括HelloWorld示例、变量(普通和引用型、记录型)、流程控制(条件分支、循环)、游标及存储过程的创建与调用。此外,还讲解了如何在Java程序中调用存储过程。
摘要由CSDN通过智能技术生成

最近在做一个ORACLE存储过程的需求,之前完全没有做过,以下是最近整理的学习笔记。供参考。还有肯定还有其他操作但是没有涉及,也可以一起讨论。

ORACLE存储过程


PLSQL编程

  • PLSQL(Procedure LanguageSQL)
  • 是Oracle对sql语言的过程扩展化(类似于basic)
  • 在SQL命令语言中,增加了过程处理语句(如分支,循环等),使SQL语言具有处理过程。

HelloWorld

-- Created on 2021/5/8 by ZJP 
declare
  --类似于java中的声明
  -- Local variables here
  i integer;
begin
  -- Test statements here
  -- 执行语句,异常处理。
  DBMS_output.put_line('Hello World');
end;
  • 在Sqlplus中,存储过程后添加/表示执行该存储过程。
  • set serveroutput on 开启输出窗口,才能输出语句。

变量

  • 普通数据类型(char,varchar2,date,number,boolean,long)
  • 特殊变量类型

引用型变量:取决于表字段类型
记录型变量:接收的不是一个字段的值而是一整条记录的值
声明变量方式

-- 变量名 变量类型(变量长度)
v_name varchar(20);

  • 变量赋值
  1. 直接赋值语句:= 比如 ,v_name:=‘张三’
  2. 语句赋值,使用select ... into ...赋值,比如(语法,select 值 into 变量)
    示例打印人员信息
-- 打印人员信息
declare
  -- Local variables here
  v_name VARCHAR2(20) :='张三';
  v_sal NUMBER;
  v_addr VARCHAR(200);
begin

    -- 直接赋值
    v_sal :=15800;
    
    --语句赋值
    SELECT '山西省太原市' INTO v_addr FROM dual;
    
    --打印输出
    
    DBSM_OUTPUT.PUT_LINE('姓名:'||v_name||',薪水:'||v_sal||',地址:'||v_addr);

end;


引用型变量

  • 变量取决于表中字段类型和长度
-- 通过员工号,打印员工信息
DECLARE
  -- 姓名
  V_NAME emp.ename%TYPE;
  -- 薪水
  V_SAL NUMBER;

BEGIN

    SELECT ENAME,SAL INTO V_NAME,V_SAL FROM EMP WHERE EMPNO ='7839';
    
    --打印输出
    
    DBSM_OUTPUT.PUT_LINE('姓名:'||V_NAME||',薪水:'||V_SAL);

END;

-- EMP 表名
-- ENAME,SAL 列名

推荐使用引用型定义变量。更加能够适应对数据

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值