Advertisement

Oracle存储过程的增删改查实现

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:TXT


简介:
本教程详细介绍如何在Oracle数据库中使用PL/SQL编写和执行存储过程,涵盖创建、读取、更新及删除记录的基本操作。 在Oracle数据库环境中,存储过程是一种预编译的代码块,用于执行特定的数据库操作,如数据添加、修改、删除及查询。它们提供了一种高效且安全的方式来处理数据,并能够减少网络流量并提高应用程序性能。 ### 1. 添加数据 创建存储过程`P_EMP_INSERT`来向`EMP`表中插入新记录。此过程中需接收两个参数:员工编号(V_ID)和姓名(V_NAME)。代码如下: ```sql CREATE OR REPLACE PROCEDURE P_EMP_INSERT ( V_ID NUMBER, V_NAME IN VARCHAR2 ) IS BEGIN INSERT INTO EMP (EMPNO, ENAME) VALUES (V_ID, V_NAME); COMMIT; END; ``` 执行时,可以使用以下语句调用该过程: ```sql BEGIN P_EMP_INSERT(8000, CC); END; ``` 这将向`EMP`表中添加一个具有编号为8000和姓名为CC的新员工。 ### 2. 修改数据 创建存储过程 `P_EMP_UPDATE` 来更新 EMP 表中的记录。此过程中需接收两个参数:要修改的员工的编号(V_ID)以及新的员工名称(V_NAME)。代码如下: ```sql CREATE OR REPLACE PROCEDURE P_EMP_UPDATE ( V_ID IN NUMBER, V_NAME IN VARCHAR2 ) IS BEGIN UPDATE EMP SET ENAME = V_NAME WHERE EMPNO = V_ID; COMMIT; END; ``` 执行更新操作时,可以使用以下语句调用该过程: ```sql BEGIN P_EMP_UPDATE(8000, AA); END; ``` 这将把编号为8000的员工姓名更改为AA。 ### 3. 删除数据 创建存储过程`P_EMP_DELETE`用于从 EMP 表中删除指定编号的记录。此过程中需接收一个参数:要删除的员工编号(V_ID)。代码如下: ```sql CREATE OR REPLACE PROCEDURE P_EMP_DELETE ( V_ID IN NUMBER ) IS BEGIN DELETE FROM EMP WHERE EMPNO = V_ID; COMMIT; END; ``` 执行过程以删除指定编号为8000的记录,可以使用以下语句调用该存储过程: ```sql BEGIN P_EMP_DELETE(8000); END; ``` ### 4. 查询数据 #### 单条记录查询 创建存储过程`P_EMP_GETOBJBYID`用于根据员工编号获取单个员工的信息。此过程中需接收一个输入参数(V_ID)和输出参数(V_NAME)。代码如下: ```sql CREATE OR REPLACE PROCEDURE P_EMP_GETOBJBYID ( V_ID IN NUMBER, V_NAME OUT VARCHAR2 ) IS BEGIN SELECT ENAME INTO V_NAME FROM EMP WHERE EMPNO = V_ID; END; ``` 执行查询时,可以使用以下语句调用该过程并输出结果: ```sql DECLARE P_NAME VARCHAR2(10); BEGIN P_EMP_GETOBJBYID(7788, P_NAME); dbms_output.put_line(Name: || P_NAME); END; ``` #### 多条记录查询 创建存储过程`P_EMP_SELECT`用于根据提供的条件返回多个员工的记录。此过程中需接收两个输入参数(V_ID 和 V_Name)和输出游标结果集,代码如下: ```sql CREATE OR REPLACE PROCEDURE P_EMP_SELECT ( RESULTLIST OUT SYS_REFCURSOR, V_ID IN NUMBER, V_NAME IN VARCHAR2 ) IS SQL_STR VARCHAR2(500); BEGIN -- 构建SQL查询字符串并添加条件语句。 IF V_ID <> 0 THEN SQL_STR := SELECT * FROM EMP WHERE EMPNO >= || TO_CHAR(V_ID); END IF; IF V_NAME IS NOT NULL THEN SQL_STR := SQL_STR || AND ENAME LIKE || %||V_NAME||% ; END IF; -- 打开游标并执行查询。 OPEN RESULTLIST FOR SQL_STR; END; ``` 执行多条记录的查询时,可以使用以下语句调用该过程: ```sql DECLARE MYCRS SYS_REFCURSOR; V_EMP EMP%ROWTYPE; BEGIN P_EMP_SELECT(MYCRS, 7900, M); LOOP FETCH MYCRS INTO V_EMP; -- 使用游标获取查询结果。 EXIT WHEN MYCRS%NOTFOUND; DBMS_OUTPUT.put_line(V_EMP.EMPNO || - || V_EMP.ENAME); END LOOP; END; ``` 以上步骤展示了如何通过存储过程进行数据的添加、修改、删除及查询操作,为数据库管理提供了强大的功能支持。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Oracle
    优质
    本教程详细介绍如何在Oracle数据库中使用PL/SQL编写和执行存储过程,涵盖创建、读取、更新及删除记录的基本操作。 在Oracle数据库环境中,存储过程是一种预编译的代码块,用于执行特定的数据库操作,如数据添加、修改、删除及查询。它们提供了一种高效且安全的方式来处理数据,并能够减少网络流量并提高应用程序性能。 ### 1. 添加数据 创建存储过程`P_EMP_INSERT`来向`EMP`表中插入新记录。此过程中需接收两个参数:员工编号(V_ID)和姓名(V_NAME)。代码如下: ```sql CREATE OR REPLACE PROCEDURE P_EMP_INSERT ( V_ID NUMBER, V_NAME IN VARCHAR2 ) IS BEGIN INSERT INTO EMP (EMPNO, ENAME) VALUES (V_ID, V_NAME); COMMIT; END; ``` 执行时,可以使用以下语句调用该过程: ```sql BEGIN P_EMP_INSERT(8000, CC); END; ``` 这将向`EMP`表中添加一个具有编号为8000和姓名为CC的新员工。 ### 2. 修改数据 创建存储过程 `P_EMP_UPDATE` 来更新 EMP 表中的记录。此过程中需接收两个参数:要修改的员工的编号(V_ID)以及新的员工名称(V_NAME)。代码如下: ```sql CREATE OR REPLACE PROCEDURE P_EMP_UPDATE ( V_ID IN NUMBER, V_NAME IN VARCHAR2 ) IS BEGIN UPDATE EMP SET ENAME = V_NAME WHERE EMPNO = V_ID; COMMIT; END; ``` 执行更新操作时,可以使用以下语句调用该过程: ```sql BEGIN P_EMP_UPDATE(8000, AA); END; ``` 这将把编号为8000的员工姓名更改为AA。 ### 3. 删除数据 创建存储过程`P_EMP_DELETE`用于从 EMP 表中删除指定编号的记录。此过程中需接收一个参数:要删除的员工编号(V_ID)。代码如下: ```sql CREATE OR REPLACE PROCEDURE P_EMP_DELETE ( V_ID IN NUMBER ) IS BEGIN DELETE FROM EMP WHERE EMPNO = V_ID; COMMIT; END; ``` 执行过程以删除指定编号为8000的记录,可以使用以下语句调用该存储过程: ```sql BEGIN P_EMP_DELETE(8000); END; ``` ### 4. 查询数据 #### 单条记录查询 创建存储过程`P_EMP_GETOBJBYID`用于根据员工编号获取单个员工的信息。此过程中需接收一个输入参数(V_ID)和输出参数(V_NAME)。代码如下: ```sql CREATE OR REPLACE PROCEDURE P_EMP_GETOBJBYID ( V_ID IN NUMBER, V_NAME OUT VARCHAR2 ) IS BEGIN SELECT ENAME INTO V_NAME FROM EMP WHERE EMPNO = V_ID; END; ``` 执行查询时,可以使用以下语句调用该过程并输出结果: ```sql DECLARE P_NAME VARCHAR2(10); BEGIN P_EMP_GETOBJBYID(7788, P_NAME); dbms_output.put_line(Name: || P_NAME); END; ``` #### 多条记录查询 创建存储过程`P_EMP_SELECT`用于根据提供的条件返回多个员工的记录。此过程中需接收两个输入参数(V_ID 和 V_Name)和输出游标结果集,代码如下: ```sql CREATE OR REPLACE PROCEDURE P_EMP_SELECT ( RESULTLIST OUT SYS_REFCURSOR, V_ID IN NUMBER, V_NAME IN VARCHAR2 ) IS SQL_STR VARCHAR2(500); BEGIN -- 构建SQL查询字符串并添加条件语句。 IF V_ID <> 0 THEN SQL_STR := SELECT * FROM EMP WHERE EMPNO >= || TO_CHAR(V_ID); END IF; IF V_NAME IS NOT NULL THEN SQL_STR := SQL_STR || AND ENAME LIKE || %||V_NAME||% ; END IF; -- 打开游标并执行查询。 OPEN RESULTLIST FOR SQL_STR; END; ``` 执行多条记录的查询时,可以使用以下语句调用该过程: ```sql DECLARE MYCRS SYS_REFCURSOR; V_EMP EMP%ROWTYPE; BEGIN P_EMP_SELECT(MYCRS, 7900, M); LOOP FETCH MYCRS INTO V_EMP; -- 使用游标获取查询结果。 EXIT WHEN MYCRS%NOTFOUND; DBMS_OUTPUT.put_line(V_EMP.EMPNO || - || V_EMP.ENAME); END LOOP; END; ``` 以上步骤展示了如何通过存储过程进行数据的添加、修改、删除及查询操作,为数据库管理提供了强大的功能支持。
  • Android——SQLite数据库基本操作,
    优质
    本教程详细介绍如何在Android开发中使用SQLite数据库进行基本的数据管理操作,包括数据的增加、删除、修改和查询。适合初学者快速上手数据库应用开发。 本人博客分享了关于Android储存方面的内容——SQLite数据库的简单使用,并提供了增删改查示例代码。
  • C#中Oracle数据库操作
    优质
    本教程详细讲解了如何使用C#编程语言在Oracle数据库中执行基本的数据操作,包括添加、删除、更新和查询记录。适合希望掌握Oracle数据库交互技能的开发者学习。 C#与Oracle数据库进行增删改查操作,并提供源码及dll文件,可以直接运行并调试应用程序。
  • Oracle常用语句
    优质
    本教程将详细介绍在Oracle数据库中执行常用的数据操作所必需的SQL语句,包括数据查询、插入、更新和删除等基本操作。 ORACLE常用的查询语句以及数据库授权语句表与表之间的内外连接查询日期时间的SQL函数处理值的收藏。由于一次性上传不了两份文档,请下载了ORACLE.txt的用户再点资料免费下载数据库授权语句的文件。
  • Java Web序中
    优质
    本教程详细讲解了在Java Web开发中如何高效地实现数据的增加、删除、修改和查询操作,适合初学者入门。 使用JavaWeb实现增删改查功能,并采用SQLserver数据库及JDBC连接方式。
  • Java Web序中
    优质
    本教程详细介绍在Java Web开发中如何使用JDBC和ORM框架(如MyBatis、Hibernate)进行数据的增删改查操作,帮助开发者掌握高效的数据处理技能。 使用JavaWeb实现增删改查功能,并采用SQLserver数据库,连接方式为JDBC。
  • Bmob功能
    优质
    本教程详细介绍了如何使用Bmob后台服务实现数据的增加、删除、修改和查询操作,帮助开发者轻松掌握移动端数据库的基本操作。 我已经实现了Bmob的增删改查操作。下载后,请自行填写您的Bmob应用ID和ObjectId(其中删除、更新和查询需要提供ObjectId,而添加数据则不需要)。关于积分问题,我会免费提供下载资源,但最低要求2个积分。希望大家能够理解和支持我一下,谢谢!
  • 基于Vue
    优质
    本文章介绍如何使用Vue框架进行数据的增删改查操作,帮助读者快速掌握Vue在项目开发中常用的数据处理方法。 Vue的增删改查操作比较简单,主要是理解其原理。这里也包含了一些模糊查询的内容,如果有需要可以参考一下。由于本人经验尚浅,请各位大佬多多指教。
  • 基于WebAPI
    优质
    本项目探讨了如何利用Web API技术高效地进行数据的增(Create)、删(Delete)、改(Update)和查(Read)操作,旨在提供一种灵活且易于维护的数据交互方式。 在WebAPI中实现简单的增删改查操作,并且可以更改Home控制器下默认跳转的页面。例如,默认情况下会跳转到about页面: ```csharp // 默认跳转到about页面 // return View(about); ``` 或者直接返回Products页面: ```csharp return View(Products); ```