Oracle数据库创建存储过程

这篇具有很好参考价值的文章主要介绍了Oracle数据库创建存储过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创建存储过程通用语法:

CREATE OR REPLACE PROCEDURE 存储过程名称  (参数1名称 参数类型(长度), 参数2名称 参数类型(长度),·········) IS(AS也可以) 

-- 创建变量
变量1名称 类型(长度);
变量2名称 类型(长度);
···················;

-- 开始标识
BEGIN

  --业务处理逻辑

END 存储过程名称;

下面是一个迁移数据库数据的存储过程:

create or replace procedure addTableData is

beginDateStr varchar2(200);
endDateStr varchar2(200);

begin
  -- 获取开始时间
  select substr(begindate, 0, 8) INTO beginDateStr from PROCEDURE_TEST;
    
  WHILE beginDateStr <= '20230628' LOOP

    -- 根据时间插入数据
    insert into CUS_TAB_PROCEDURE (ID, CZR, CZDW, CZLX, CJSJ, GXSJ, SX_ID, SX_SEND_DATE, SX_LEIBIE, SX_SOURCE, SX_CHECK_STATUS, SX_TRANSFER_FLAG, RECEIVEUNIT, REPORTUNIT, SX_DESC, SX_FEEDBACK, CASE_LIAN, CU_GJC, CUS_GRADE, CUS_CASEID, CRIMINALER_LOCATION, QUESTION, PNUM, PROLE, INSIDE_INTERMEDIARY, OUT_CORPERATION, WORK_TRACERT, MUTI_FLAG, TIKTOK, XS_TYPE, SX_XSLXR, SX_XSLXFS, XS_GRADE, XS_DISTRIBUTE, LINKMAN, PHONENUMBER, AAA, JUDGMENTGROUP_CIRCULATION, JUDGMENTGROUP_CIRCULATION_SYS)
    select ID, CZR, CZDW, CZLX, CJSJ, GXSJ, SX_ID, SX_SEND_DATE, SX_LEIBIE, SX_SOURCE, SX_CHECK_STATUS, SX_TRANSFER_FLAG, RECEIVEUNIT, REPORTUNIT, SX_DESC, SX_FEEDBACK, CASE_LIAN, CU_GJC, CUS_GRADE, CUS_CASEID, CRIMINALER_LOCATION, QUESTION, PNUM, PROLE, INSIDE_INTERMEDIARY, OUT_CORPERATION, WORK_TRACERT, MUTI_FLAG, TIKTOK, XS_TYPE, SX_XSLXR, SX_XSLXFS, XS_GRADE, XS_DISTRIBUTE, LINKMAN, PHONENUMBER, AAA, JUDGMENTGROUP_CIRCULATION, JUDGMENTGROUP_CIRCULATION_SYS from CUS_TAB
    where cjsj like beginDateStr || '%';

    -- 修改已经操作的数据时间
    update procedure_TEST set begindate = to_char((to_date(begindate, 'yyyyMMdd') + 1), 'yyyyMMdd');

    -- 提交数据
    commit;
    select substr(begindate, 0, 8) INTO beginDateStr from PROCEDURE_TEST;
  END LOOP;

end addTableData;

存储过程中用到的 while 循环逻辑:

-- while循环 语法解析 
-- LOOP:循环内容开始标志,代表着循环执行内容从此开始
-- END LOOP:循环内容结束标识,代表着循环内容从此结束(注:END LOOP后面一定要有“;”否则回报错)
WHILE 条件(满足就执行否则退出)LOOP
   -- 循环执行的业务逻辑
END LOOP;

执行存储过程

-- 执行存储过程
call 存储过程名()

删除存储过程 

-- 删除存储过程
drop procedure 存储过程名;

 文章来源地址https://www.toymoban.com/news/detail-508444.html

到了这里,关于Oracle数据库创建存储过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库实验6 存储过程实验

    前言:游标的mysql代码不懂写,所以没有运行结果 实验6.1 存储过程实验 1.实验目的 掌握数据库 PL/SQL 编程语言,以及数据库存储过程的设计和使用方法。 2.实验内容和要求 存储过程定义,存储过程运行,存储过程更名,存储过程删除,存储过程的参数传递。掌握PL/SQL编程语言和编

    2024年02月04日
    浏览(55)
  • 【MySQL 数据库】9、存储过程

    🌱 存储过程是事先经过编译并存储在数据库中的 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,可以提高数据处理效率 🌱 存储过程思想上很简单:就是数据库 SQL 语言层面的代码封装与重用 🍃 【封装,复用

    2024年02月08日
    浏览(49)
  • 数据库(MySQL)的存储过程

    存储过程是事先经过编译并存储在数据库中的一段SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程思想上很简单,就是数据库SQL 语言层面的代码封装与重用。 特点

    2024年02月10日
    浏览(44)
  • 进阶数据库系列(十一):PostgreSQL 存储过程

    前面介绍了 PostgreSQL 数据类型和运算符、常用函数、锁操作、执行计划、视图与触发器相关的知识点,今天我将详细的为大家介绍 PostgreSQL 存储过程相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发支持一波!!! 工作中可能会存在业务比较复杂,重复性

    2024年02月03日
    浏览(45)
  • MySQL数据库中的存储过程以及存储函数练习

     字段名       数据类型       主键    外键    非空   唯一    自增       id             INT               是      否       是       是           否    name    VARCHAR(50)   否      否       是       否           否    glass   VARCHAR(50)     否   

    2024年02月15日
    浏览(45)
  • 用友U8存货档案数据库插入存储过程

    ALTER PROCEDURE addnew_inventory_zd     (       @ydhcz NVARCHAR(60) ,--存货分类编码回传       --@cInvCode NVARCHAR(60) ,--存货编码         @cInvName NVARCHAR(255) ,--存货名称         @cInvStd NVARCHAR(255) ,--规格型号        @cInvCCode NVARCHAR(12) ,--存货大类编码        @cCreatePersonCode NVARCHAR(20) ,--建档

    2024年02月07日
    浏览(42)
  • SQL Server存储过程(数据库引擎)使用详解

    SQL Server 中的存储过程是一组一个或多个 Transact-SQL 语句的引用。过程类似于其他编程语言中的构造,因为它们可以: 接受输入参数并以输出参数的形式向调用程序返回多个值。 包含在数据库中执行操作的编程语句。其中包括调用其他过程。 向调用程序返回状态值,以指示成

    2023年04月09日
    浏览(49)
  • 数据库实验 | 第5关:使用游标的存储过程

    本关任务: jdxx数据表有四个字段,分别是省份(sf)、城市(cs)、区县(qxmc)、街道(name)。 例如,查询天心区(qxmc)的所有字段的值结果如图所示 建立存储过程 tjdq(in sf varchar(10)) 输入省份的名称,将该省份所有城市的所有地区的 乡x、镇z和街道jd和其他的个数插入到数据表dqtj中。

    2023年04月23日
    浏览(43)
  • SQL server数据库简单的使用存储过程

    SQL server数据库简单的使用存储过程,入门级别  --删除存储过程 --drop proc AddProc--此为存储过程的名字 --go  --创建存储过程 create proc AddProc--此为存储过程的名字,前面带#的为临时的存储过程 @str nvarchar(10)--可选参数,如果没有参数 as 可不用写 as  declare @n int --存储过程内部需

    2024年02月06日
    浏览(61)
  • 五、C#与数据库交互(数据存储过程与触发器)

    在C#中与数据库交互时,除了基本的查询和更新操作,还经常需要使用存储过程和触发器。下面我将简要介绍如何在C#中使用存储过程和触发器。 存储过程 存储过程是一组为了完成特定功能的SQL语句集,它可以被存储在数据库中,并可以被调用执行。在C#中,你可以使用 Sql

    2024年01月25日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包