Oracle 存储过程之增删改查
来源:互联网 发布:酷优网络 编辑:程序博客网 时间:2024/05/16 18:25
1、创建数据库表emp
create table EMP( EMPNO NUMBER(4) not null, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2))tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );-- Create/Recreate primary, unique and foreign key constraints alter table EMP add constraint PK_EMP primary key (EMPNO) using index tablespace USERS pctfree 10 initrans 2 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );alter table EMP add constraint FK_DEPTNO foreign key (DEPTNO) references DEPT (DEPTNO);
2、存储过程基本格式
CREATE PROCEDURE 存储过程名字
IS
BEGIN
--执行的内容
END 存储过程名字;
3、存储过程:插入数据(无参/有参)
--插入数据(无参)存储过程 emp_insert_proccreate or replace procedure emp_insert_proc isbegin INSERT INTO emp VALUES(7779,'Hello Java','SALESMAN',7839,SYSDATE,1800,4000,30); dbms_output.put_line('添加数据的id: '||'7779');end emp_insert_proc ;--执行存储过程 emp_insert_procbegin emp_insert_proc;end;
--插入数据(有参)存储过程 emp_insert_para_proccreate or replace procedure emp_insert_para_proc(myempno NUMBER, myename VARCHAR2, myjob VARCHAR2, mymgr NUMBER, mydate DATE, mysal NUMBER, mycomm NUMBER, mydeptno NUMBER)isbegin INSERT INTO emp VALUES(myempno,myename,myjob,mymgr,mydate,mysal,mycomm,mydeptno); dbms_output.put_line('插入数据的id:'||myempno);end emp_insert_para_proc;-- 调用插入数据有参存储过程begin emp_insert_para_proc(111,'三九','坑爹',7689,SYSDATE,1800,4000,30); end;
4、存储过程:删除数据
--创建存储过程:按照id删除记录create or replace procedure emp_del_proc(myemp NUMBER) isbegin DELETE FROM emp WHERE empno=myemp; dbms_output.put_line('被删除的记录的empno='||myemp); end emp_del_proc;-- 调用存储过程begin -- Test statements here emp_del_proc(111); commit;end;
5、存储过程:修改数据
--更新数据存储过程--按照id修改名字create or replace procedure emp_update_proc(myempno IN NUMBER, myename IN VARCHAR2 ) isbegin UPDATE emp SET ename=myename WHERE empno=myempno; dbms_output.put_line('被修改的数据的myempno='||myempno); end emp_update_proc;--调用修改数据存储过程--按照id修改名字存储过程begin emp_update_proc(111,'改后名'); commit;end;
6、存储过程:查询数据
--创建存储过程:按照id查询单条数据create or replace procedure emp_selectnamebyid_proc(myempno in number,myname out varchar2) isbegin SELECT ename into myname FROM emp WHERE empno=myempno; --dbms_output.put_line('被查询的ename='||myname); end emp_selectnamebyid_proc;-- 调用 查询存储过程emp_selectnamebyid_procdeclare -- Local variables here myname VARCHAR2(50); begin -- Test statements here emp_selectnamebyid_proc(123,myname);end;
-- 创建存储过程:查询所有的结果(多行用游标显示)create or replace procedure emp_selectempAll_proc is CURSOR sel_emp IS SELECT * FROM emp;--定义游标,该游标指向查询结果 rowresult emp%ROWTYPE;begin OPEN sel_emp;--打开游标 LOOP FETCH sel_emp INTO rowresult;--将游标中的值赋给rowresult EXIT WHEN sel_emp%NOTFOUND;--判断:游标不存在时跳出循环 dbms_output.put_line('员工名ename='||rowresult.ename||', 工资sal='||rowresult.sal); END LOOP; CLOSE sel_emp;--关闭游标 end emp_selectempAll_proc ;-- 调用存储过程:查询所有的结果(多行用游标显示)begin emp_selectempall_proc;end;
阅读全文
0 0
- Oracle 存储过程之增删改查
- oracle存储过程之数据增删查改及调用
- oracle 存储过程实现增删改查
- oracle存储过程增删改查
- 存储过程之七—存储过程增删改查
- 存储过程增删改查
- oracle-扫盲贴:存储过程实现增删改查
- oracle-扫盲贴:存储过程实现增删改查
- oracle存储过程学习(二)-增删改查
- oracle-扫盲贴:存储过程实现增删改查
- Oracle存储过程-增删改查与调用
- oracle 之 增删改查
- sqlserver存储过程的增删改查
- jdbc增删改查操作 存储过程
- 学习下oracle的存储过程增删改查操作以及java调用存储过程
- java连接Oracle并实用存储过程实现增删改查(CRUD)
- oracle如何使用存储过程实现增删改查?【0基础】
- Oracle之使用proc增删改查
- google实战tensorlfow之mnist
- android比较好的资源地址
- iOS 禁止UITableView区头滚动
- Callable与Future
- windows查看端口占用以及关闭相应的进程
- Oracle 存储过程之增删改查
- ES6之Generator
- Android中UI线程与后台线程交互设计的5种方法
- java服务器读取配置文件
- jdk9更新导致eclipse无法启动
- MySQL/Mariadb基准测试工具-tpcc-mysql和sysbench区别
- jQuery取得select选择的文本与值
- 经典的 Java main方法面试题
- Date格式的时间,后面有个.0的处理方式