Oracle—“PL/SQL语句实验(1)”

2020/12/10 10:04
阅读数 88

1、声明一个记录变量emp_record 将emp表所有成员放入变量中,打印编号为7788的员工名称和工资信息。
代码:

DECLARE
  emp_record emp%ROWTYPE;
BEGIN
  SELECT * into emp_record
  FROM emp
  WHERE empno=7788;
  dbms_output.put_line('雇员名称为:'||emp_record.ename);
  dbms_output.put_line('雇员工资为:'||emp_record.sal);
END;

执行结果截图:
在这里插入图片描述

2、查询EMP表中职工号7788的工资,输出工资的值并且如果工资小于3000那么把工资更改为3000,异常部分对NO_DATA_FOUND异常进行处理,输出没有该员工。
代码:

DECLARE
  v_sal emp.sal%TYPE;
BEGIN
  SELECT sal INTO v_sal
  FROM emp
  WHERE empno=7788;
  dbms_output.put_line('员工工资:'||v_sal):
IF v_sal<3000 THEN
  UPDATE emp
  SET sal=3000
  WHERE empno=7788;--使用UPDATE函数更新emp表中数据
END IF;
EXCEPTION
  WHEN NO_DATA_FOUND THEN
  dbms_output.put_line('没有该员工');
END;

3、创建一个记录类型type_record,类型包含v_name,v_salary,v_job,v_deptno等分量,要求记录类型中各个分量的数据类型和emp表中ename,sal,job,deptno列的数据类型一致(%type实现)。创建一个变量,变量名为v_ record,读取EMP表中职工号为7788的ename,sal,job,deptno为该变量赋值,输出该变量的值。
代码:

DELCARE
  TYPE type_record IS RECORD(
  v_name emp.ename%TYPE,
  v_salsry emp.sal%TYPE,
  v_job emp.job%TYPE,
  v_deptno emp.deptno%TYPE
);
  v_record type_record;
BEGIN
  SELECT ename,sal,job,deptno 
  INTO v_name,v_sal,v_job,v_deptno
  FROM emp
  WHERE empno=7788;
  dbms_output.put_line('员工姓名:'||v_record.v_name);
  dbms_output.put_line('工资:'||v_record.v_sal);
  dbms_output.put_line('职务:'||v_record.v_job);
  dbms_output.put_line('部门编号'||v_record.v_deptno);
END
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部