IF sales_res.tsales=sales_res.asales THEN
DBMS_OUTPUT.PUT_LINE('²úÆ·£º'||sales_rec.pid||'ÒÑ´ïµ½ÏúÊÛ¶î'); ELSE
DBMS_OUTPUT.PUT_LINE('²úÆ·£º' ||sales_rec.pid||'
ÏúÊÛÒµ¼¨³öÉ«'); END IF; END IF; END LOOP; END;
10¡¢Íê³ÉÒÔÏÂPL/SQL¿é£¬¹¦ÄÜÊÇ£º´´½¨Ò»¸ö½»»»Á½ÊýµÄ¹ý³Ì¡£ CREATE OR REPLACE PROCEDURE
swap(p1 IN OUT NUMBER, p2 in out NUMBER) IS v_temp NUMBER; BEGIN v_temp := p1; p1 := p2; p2 := v_temp; END;
11¡¢Íê³ÉÒÔÏÂPL/SQL¿é£¬¹¦ÄÜÊÇ£º´´½¨Ò»¸öº¯Êýdept_name£¬Æä¹¦ÄÜÊǽÓÊÜÖ°Ô±±àºÅºó·µ»ØÖ°Ô±ËùÔÚ²¿ÃÅÃû³Æ¡££¨×¢£º²¿ÃÅÃû³ÆÔÚdept±íÖУ¬¶øÖ°Ô±ÐÅÏ¢ÔÚemp±íÖУ¬Ö°Ô±ËùÔÚ²¿ÃźŵÄÁÐÃûΪdeptno£©
CREATE OR REPLACE FUNCTION dept_name (emp_no NUMBER)
RETURN VARCHAR2 AS dept_no NUMBER(2); result dept.dname%TYPE; BEGIN Selecet deptno into dept_no from emp where empno=emp_no SELECT dname INTO result FROM dept WHERE deptno = dept_no; Return result EXCEPTION
WHEN OTHERS THEN RETURN NULL; END;
12¡¢ÒªÖ´ÐÐpack_me°üÖеÄorder_proc¹ý³Ì£¨ÓÐÒ»¸öÊäÈë²ÎÊý£©£¬¼ÙÉè²ÎÊýֵΪ?002?£¬¿ÉÒÔÊäÈëÒÔÏÂÃüÁ EXECUTE pack_ma.order-proc(¡®002¡¯)
13¡¢Íê³ÉÒÔÏÂPL/SQL¿éµÄ¹¦ÄÜÊÇ£º´´½¨Ò»¸ö´¥·¢Æ÷biu_job_emp£¬ÎÞÂÛÓû§²åÈë¼Ç¼£¬»¹ÊÇÐÞ¸ÄEMP±íµÄjobÁУ¬¶¼½«Óû§Ö¸¶¨µÄjobÁеÄֵת»»³É´óд¡£
CREATE OR REPLACE TRIGGER biu_job_emp
Before insert or update of job on emp For each row BEGIN
:NEW.job :=upper(;new.job) END;
´ð°¸ 1£®A 2£®D 3£®C 4£®A 5£®B 6£®B 7£®B 8£®C 9£®B 10£®C 11£®C 12£®C 13£®A 14£®B 15£®D 16£®C 17£®D 18£®B 19£®A 20£®B 21£®C 22£®C 23£®C 24£®A 25£®A 26£®A 27£®A 28£®A 29£®B 30£®C ¶þ¡¢Ìî¿ÕÌ⣨ÿ¿Õ2·Ö£¬¹²40·Ö£© [1] [2] [3] [4] [5] [6] [7] [8] [9] Connect martin/martinpass@aptech Grant select on scott.emp to martin Select * from employee where 1=2 To_char NVL even_number 1..25 SELECT ename INTO empname FROM employee WHERE empno=eno; EXCEPTION [10] OPEN toy_cur [11] FETCH toy_cur INTO my_toy_price; [12] FOR sales_rec IN sales_cur LOOP [13] sales_rec.tsales = sales_rec.asales [14] IN OUT [15] SELECT deptno INTO dept_no FROM emp WHERE empno=emp_no; [16] RETURN result; [17] pack_ma.order_proc(¡®002¡¯£©
[18] BEFORE INSERT OR UPDATE OF job ON emp [19] FOR EACH ROW [20] UPPER(:NEW.job)