12-1:
	DECLARE
	  v_ename emp.ename%TYPE;
	  v_sal   emp.sal%TYPE;
	BEGIN
	  SELECT ename,sal INTO v_ename,v_sal
	  FROM emp WHERE empno=&no;
	  dbms_output.put_line(':'||v_ename);
	  dbms_output.put_line(':'||v_sal);
	END;
	/
12-2:
	DECLARE
	  TYPE emp_record_type IS RECORD (
	    name emp.ename%TYPE,title emp.job%TYPE);
	  emp_record emp_record_type;
	BEGIN
	  SELECT ename,job INTO emp_record
	  FROM emp WHERE empno=&no;
	  dbms_output.put_line(':'||emp_record.name);
	  dbms_output.put_line('λ:'||emp_record.title);
	END;
	/
12-3:
	DECLARE
	  v_ename emp.ename%TYPE;
	  v_sal   emp.sal%TYPE;
	BEGIN
	  SELECT ename,sal INTO v_ename,v_sal
	  FROM emp WHERE empno=&no;
	  dbms_output.put_line(':'||v_ename);
	  dbms_output.put_line(':'||v_sal);
	END;
	/
12-4:
	DECLARE
	  v_ename emp.ename%TYPE;
	  v_sal   emp.sal%TYPE;
	BEGIN
	  SELECT ename,sal INTO v_ename,v_sal
	  FROM emp WHERE deptno=&no;
	  dbms_output.put_line(':'||v_ename);
	  dbms_output.put_line(':'||v_sal);
	END;
	/
12-5:
	DECLARE
	  empno NUMBER(6):=7788;
	  v_ename VARCHAR2(10);
	BEGIN
	  SELECT ename INTO v_ename FROM emp
	  WHERE empno=empno;
	END;
	/
12-6:
	DECLARE
	  v_deptno dept.deptno%TYPE;
	  v_dname  dept.dname%TYPE;
	BEGIN
	  v_deptno:=&no;
	  v_dname:='&name';
	  INSERT INTO dept (deptno,dname)
	  VALUES(v_deptno,v_dname);
	END;
	/
12-7:
	 DECLARE
	  v_deptno emp.deptno%TYPE:=&no;
	BEGIN
	  INSERT INTO employee
	  SELECT * FROM emp WHERE deptno=v_deptno;
	END;
	/
12-8:
	DECLARE
	  v_deptno dept.deptno%TYPE:=&no;
	  v_loc dept.loc%TYPE:='&loc';
	BEGIN
	  UPDATE dept SET loc=v_loc
	  WHERE deptno=v_deptno;
	END;
	/
12-9:
	DECLARE
	  v_ename emp.ename%TYPE:='&name';
	BEGIN
	  UPDATE emp SET (sal,comm)=
	  (SELECT sal,comm FROM emp WHERE ename=v_ename)
	  WHERE job=(SELECT job FROM emp WHERE ename=v_ename);
	END;
	/
12-10:
	DECLARE
	  v_deptno dept.deptno%TYPE:=&no;
	BEGIN
	  DELETE FROM dept WHERE deptno=v_deptno;
	END;
	/
12-11:
	DECLARE
	  v_ename emp.ename%TYPE:='&name';
	BEGIN
	  DELETE FROM emp
	  WHERE deptno=(SELECT deptno FROM emp
	    WHERE ename=v_ename);
	END;
	/
12-12:
	DECLARE
	  v_deptno emp.deptno%TYPE:=&no;
	BEGIN
	  UPDATE emp SET sal=sal*1.1
	  WHERE deptno=v_deptno;
	  IF SQL%FOUND THEN
	    dbms_output.put_line('ɾ'||SQL%ROWCOUNT||'');
	  ELSE
	    dbms_output.put_line('òŲڹԱ');
	  END IF;
	END;
	/
12-13:
	DECLARE
	  v_deptno emp.deptno%TYPE:=&no;
	BEGIN
	  UPDATE emp SET sal=sal*1.1
	  WHERE deptno=v_deptno;
	  IF SQL%NOTFOUND THEN
	    dbms_output.put_line('òŲڹԱ');
	  ELSE
	    dbms_output.put_line('ɾ'||SQL%ROWCOUNT||'');
	  END IF;
	END;
	/
12-14:
	DECLARE
	  v_deptno emp.deptno%TYPE:=&no;
	BEGIN
	  UPDATE emp SET sal=sal*1.1
	  WHERE deptno=v_deptno;
	  dbms_output.put_line('޸'||SQL%ROWCOUNT||'');
	END;
	/
12-15:
	DECLARE
	  v_sal emp.sal%TYPE:=&salary;
	  v_ename emp.ename%TYPE:='&name';
	BEGIN
	  UPDATE emp SET sal=v_sal WHERE ename=v_ename;
	  COMMIT;
	EXCEPTION
	  WHEN OTHERS THEN
	    ROLLBACK;
	END;
	/
12-16:
	BEGIN
	  INSERT INTO temp VALUES(1);
	  SAVEPOINT a1;
	  INSERT INTO temp VALUES(2);
	  SAVEPOINT a2;
	  INSERT INTO temp VALUES(3);
	  SAVEPOINT a3;
	  ROLLBACK TO a2;
	  COMMIT;
	END;
	/















