最简单存储过程:
CREATE OR REPLACE PROCEDURE my_proc_1
AS
BEGIN
NULL;
END;
作用:增删改数据
对比:函数,主要用于查询(企业规定不要在函数修改数据)。
存储过程2:带参数:
--添加新部门
CREATE OR REPLACE PROCEDURE my_proc_1
(
p_deptno dept.deptno%TYPE,
p_dname dept.dname%TYPE
)
AS
BEGIN
INSERT INTO dept(deptno, dname, loc)
VALUES(p_deptno, p_deptno, NULL);
COMMIT;
END;
调用:
第1种:PL/SQL中调用
--call语句
CALL my_proc_1(41,'a');
--Execute命令
Execute my_proc_1(42,'b');
第2种:JDBC调用
Connection conn = ...;
CallableStatement cstmt = null;
String spName = "{call my_proc_1(?,?)}";
cstmt = conn.prepareCall(spName);
cstmt.setString(1, "43");
cstmt.setString(2, "c");
cstmt.executeUpdate();