1.创建存储过程,删除scott.emp表中任意给定职工好的职工记录

2025-03-24 07:25:53
推荐回答(3个)
回答1:

CREATE OR REPLACE PROCEDURE select_emp
(v_emp_no IN emp.empno%type)
IS
v_emp_name emp.ename%type;
v_dept_name dept.dname%type;
BEGIN
SELECT EMP.ENAME,DEPT.DNAME
INTO v_emp_name, v_dept_name
FROM EMP,DEPT
WHERE EMP.DEPTNO=DEPT.DEPTNO AND EMPNO = v_emp_no;
DBMS_OUTPUT.PUT_LINE(v_emp_name||' '||v_dept_name);
END select_emp;
/
EXECUTE select_emp(7654);

CREATE OR REPLACE TRIGGER update_dept_to_emp
AFTER UPDATE ON DEPT FOR EACH ROW
BEGIN
IF UPDATING
THEN
UPDATE EMP SET DEPTNO = :new.DEPTNO
WHERE DEPTNO=:old.DEPTNO;
END IF;
END update_dept_to_emp;
/
自己写的,如有错误请指正。
哥们儿是南工的吧。。。

回答2:

CREATE OR REPLACE PROCEDURE select_emp

(v_emp_no IN emp.empno%type)

IS

v_emp_name emp.ename%type;

v_dept_name dept.dname%type;

BEGIN

SELECT EMP.ENAME,DEPT.DNAME

INTO v_emp_name, v_dept_name

FROM EMP,DEPT 

WHERE EMP.DEPTNO=DEPT.DEPTNO AND EMPNO = v_emp_no;

DBMS_OUTPUT.PUT_LINE(v_emp_name||' '||v_dept_name);

END select_emp;

/

EXECUTE select_emp(7654);

CREATE OR REPLACE TRIGGER update_dept_to_emp

AFTER UPDATE ON DEPT FOR EACH ROW

BEGIN

IF UPDATING

THEN

UPDATE EMP SET DEPTNO = :new.DEPTNO

WHERE DEPTNO=:old.DEPTNO;

END IF;

END update_dept_to_emp;

/

回答3:

你先把emp和dept的表结构发一下,或者直接将相关表生成的sql文件发一下