oracle 存储过程

CREATE TABLE STUDENT( --创建学生表
  ID NUMBER(10) PRIMARY KEY,   --主键ID
  SNAME VARCHAR2(20),
);

--创建存储过程  给学生表添加一条记录

CREATE OR REPLACE PROCEDURE PROCEDURE_ADD
  (IN_ID IN STUDENT.ID%TYPE,IN_SNAME STUDENT.SNAME%TYPE)  
AS
BEGIN
  INSERT INTO STUDENT VALUES(IN_ID,IN_SNAME);
  DBMS_OUTPUT.PUT_LINE('数据添加成功!');
END PROCEDURE_ADD;
--调用过程的时候  因为这是添加数据  所以添加完后 要commit提交 不然显示不了添加的数据 
--在调用之前要SET SERVEROUT ON

EXECUTE PROCEDURE_ADD(NULL,'AA',3);--这里需要注意的是ID要先写触发器使其自动增长  不然的话这里第一个参数不能写成NULL 要给定值  我已经写好了触发器所以这里给的是null值  关于ID自动增长  上一个文章已经写到 可以去参考一下

本人是在sqldeveloper中写的存储过程   但是过程是在sqlplus中执行的

原文地址:https://www.cnblogs.com/wenjie123/p/4522447.html