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

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为该变量赋值,输出该变量的值。
代码:

DECLARE
TYPE type_record IS RECORD(
v_name emp.ename%TYPE,
v_sal 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_record
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;
  

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

猜你喜欢

转载自blog.csdn.net/qq_47354826/article/details/110881580