当前位置: 首页 > news >正文

oracle存储过程详解

最近做多了存储过程,准备写一些简单的知识点例子,供初学者快速上手

1.存储过程模板

  create or replace package body Testpackage is //开始包PROCEDURE TestProcedures(p_parameter IN VARCHAR, p_out_result OUT VARCHAR) AS  //开始存储过程v_exe_start_datetime DATE := SYSDATE; BEGINv_exe_end_datetime := SYSDATE;//記錄執行INSERT INTO 表  (字段1,字段2)  VALUES  (1,2);p_out_result := 'S-OK';//给结果赋值退出EXCEPTION  //异常抛出WHEN OTHERS THENp_out_result := 'X-' || DBMS_UTILITY.format_error_stack ||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE;END; //结束存储过程end Testpackage;//结束包名

2.存储过程的判断写法

if  instr(dataStr, '.1') > 0 then         elsif  instr(dataStr, '.') = 0 then       else       
end if;//判读是否为空if v_verder_lot is null thenend if;

3.存储过程赋值的使用

  V_aa NUMBER;V_aa :=0;v_now DATE;v_now := sysdate;ValueStr  varchar2(50 byte);ValueStr :='aa';//设置一行数据是数据表的类型v_re_exe_row       表aaa%ROWTYPE;  //ROWTYPE意思這個值是表aaa是一行数据SELECT *INTO v_re_exe_rowFROM aaa ;whatnever  表名.字段%type; //type意思是一个字段

4.简单的表操作

//从一个表直接把数据插入另外一个表INSERT INTO 表ccc(字段1,字段2,字段3)SELECT 值1,2,3FROM 表//清除表EXECUTE IMMEDIATE ('TRUNCATE TABLE 表ccc');//插入表INSERT INTO 表ccc(字段1,字段2,字段3)values(1,2,3);//查詢數據循環 SELECT 字段1INTO 定義的變量FROM 表cccwhere rownum =1;

2.游标的使用 (使用游标循环)
游标由程序员明确声明和控制,可以逐行处理查询结果集
下面是使用一个游标的方法

 //游標循環//游标查詢数据并赋值给游标//創建一個叫QUERY_TEST_DATA_CUR的游標CURSOR QUERY_TEST_DATA_CUR IS(SELECT 字段1, 字段2  from  表);TYPE xData_test IS TABLE OF QUERY_TEST_DATA_CUR%ROWTYPE INDEX BY PLS_INTEGER; //PLS_INTEGER是一个整数类型l_xData_test xData_test;BEGIN//打开游标OPEN QUERY_TEST_DATA_CUR;LOOPFETCH QUERY_TEST_DATA_CUR BULK COLLECT  //将游标指向的值赋给l_xData_testINTO l_xData_test LIMIT 1000; //限制长度FOR indx IN 1 .. l_xData_test.count LOOPNewValue  varchar2(50 byte) :=l_xData_test(indx).字段1;//使用方法END LOOP; //跳出循环EXIT WHEN QUERY_TEST_DATA_CUR%NOTFOUND; //当游标不再有值的时候END LOOP; //跳出循环CLOSE QUERY_TEST_DATA_CUR; //跳出游标
http://www.dtcms.com/a/525218.html

相关文章:

  • 多线程六脉神剑第三剑:信号量 (Semaphore)
  • 网站外链怎么购买网站建设方案计划书
  • 在C#中详细介绍一下Visual Studio中如何使用数据可视化工具
  • TDengine 数据函数 ROUND 用户手册
  • 网上做网站怎么做下拉菜单广告设计软件下载
  • LeetCode 406 - 根据身高重建队列
  • ELK运维之路(异常日志告警)
  • 从零开始的C++学习生活 14:map/set的使用和封装
  • 只做同城交易的网站wordpress自定义文章类型分类模板
  • 做外贸要看哪些网站阿里云做网站怎么样
  • 常州市经开区建设局网站东莞h5网站建设
  • 个人做网站需要多少钱seo网址大全
  • Python进阶(11-2):Python游戏编程-FlappyBird
  • 网站制作怎么做网站建设平台多少钱
  • [OP-Agent] 可扩展架构 | 插件管理器plugins.go
  • ps做图游戏下载网站有哪些保定百度关键词优化
  • Python 快速提取扫描件 PDF 中的文本:OCR 实操教程
  • 做外贸需要什么网站大连网站排名网络推广公司
  • JP4-8-MyLesson前台前端(三)
  • 高校建设前沿人工智能实验室需要做哪些准备?
  • Java 25 中的最佳新特性
  • 免费网址导航网站建设西安网站群搭建
  • 相机内参初始值估计的解析解推导【简洁明了】(cvInitIntrinsicParams2D)
  • 操作系统 | Linux:第三章 用户和权限
  • 做外国的网站卖东西男生女生做污事网站 localhost
  • wordpress主题制作插件seo三人行网站
  • 帝国cms 网站地图 自定义wordpress建表
  • 在JavaScript中,查看对象有哪些属性
  • openEuler配置docker
  • 42.渗透-Kali Linux-工具-Ettercap(arp广播欺骗,局域网流量拦截)