Sql代码
--1.建包
1. CREATE OR REPLACE PACKAGE my_pak AS
2. TYPE my_cus IS REF CURSOR ;
3. END my_pak;
--2.写存储返回过程
1. CREATE OR REPLACE PROCEDURE sp_add_emp3(
2. v_empno emp.empno%TYPE,
3. v_ename emp.ename%TYPE,
4. v_deptno dept.deptno%TYPE,
5. v_dname dept.dname%TYPE,
6.
7. p_cus OUT my_pak.my_cus
8. )AS
9. num1 NUMBER;
10. num2 NUMBER;
11. BEGIN
12.
13. OPEN p_cus FOR select empno,ename into v_empno,v_ename from emp where deptno =v_deptno
14. SELECT COUNT(*) INTO num1 FROM dept WHERE deptno=v_deptno;
15. IF(num1=0) THEN
16. INSERT INTO dept(deptno,dname) VALUES(v_deptno,v_dname);
17. END IF;
18. SELECT COUNT(*) INTO num2 FROM emp WHERE empno=v_empno;
19. IF(num2=0)THEN
20. INSERT INTO emp(empno,ename,deptno) VALUES(v_empno,v_ename,v_deptno);
21. ELSE
22. raise_application_error(-202021,'员工id 重复!!!');
23. END IF;
24. commit;
25.
26. END;
Java JDBC调用Oracle,Java中调用代码3: