plsql常用语法

1、注释
   单行注释  --
   多行注释  /*    */

2、命名规范
   变量  v_*  开头  v_sal
   常量  c_*  开头  c_rate
   游标  *_cursor结尾  emp_cursor
   例外异常 e_*  开头  e_error

3、块的结构
   declear
   
   begin
    
   exception
 
    end;
4、定义变量和常量
  (1) 标量(scalar)定义:
   v_ename varchar(2);
   v_sal number(6,2);  --长度为6,小数点后有两位
   v_sal number(6,2):=6.2;
   v_hirdate date;
   v_valid boolean not null default false;
   v_ename emp.ename%type;  --使用标示符
   v_sal emp.sal%type;      --使用标示符
   
   (2)复合变量
--定义一个符合类型
DECLARE
  TYPE EMP_RECORD_TYPE IS RECORD(
    V_ENAME EMP.ENAME%TYPE,
    SAL     EMP.SAL%TYPE,
    TITLE   EMP.JOB%TYPE);

  JL_RECORD EMP_RECORD_TYPE;

BEGIN
  SELECT ENAME, SAL, JOB INTO JL_RECORD FROM EMP WHERE EMPNO = &EMPNO;
  DBMS_OUTPUT.PUT_LINE(JL_RECORD.V_ENAME);
END;


--符合类型表实例
DECLARE
  TYPE JL_TABLE_TYPE IS TABLE OF EMP.ENAME%TYPE INDEX BY BINARY_INTEGER;

  JL_TABLE JL_TABLE_TYPE;
BEGIN
  SELECT ENAME INTO JL_TABLE(0) FROM EMP WHERE EMPNO = '7788';
  DBMS_OUTPUT.PUT_LINE('员工名字:' || JL_TABLE(0));
END;

(3)参照变量(游标变量)

--输入部门号,显示所有员工的姓名和薪资
DECLARE
  --定义游标类型
  TYPE JL_EMP_CURSORS_TYPE IS REF CURSOR;
  JL_CURSOR JL_EMP_CURSORS_TYPE;
  V_ENAME   EMP.ENAME%TYPE;
  V_SAL     EMP.SAL%TYPE;
BEGIN

  --把jl_cursor和数据表结合
  OPEN JL_CURSOR FOR
    SELECT ENAME, SAL FROM EMP WHERE DEPTNO = &DEPTNO;

  --循环取出
  LOOP
    FETCH JL_CURSOR
      INTO V_ENAME, V_SAL;
      
      ----if-----
 
    --判断游标是否为空
    EXIT WHEN JL_CURSOR%NOTFOUND;
    DBMS_OUTPUT.PUT_LINE(V_ENAME || ':' || V_SAL);
  END LOOP;

END;
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值