注:再写存储过程的时候,在for循环里要写begin和end,这样就可以写exception ,让这条错误数据回滚,然后记录错误日志,commit

关键字: oracle 存储过程

1.基本结构 
CREATE OR REPLACE PROCEDURE 存储过程名字 

    参数1 IN NUMBER, 
    参数2 IN NUMBER 
) IS 
变量1 INTEGER :=0; 
变量2 DATE; 
BEGIN

END 存储过程名字

2.SELECT INTO STATEMENT 
  将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 
  记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 
  例子: 
  BEGIN 
  SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx; 
  EXCEPTION 
  WHEN NO_DATA_FOUND THEN 
      xxxx; 
  END; 
  ...

3.IF 判断 
  IF V_TEST=1 THEN 
    BEGIN 
       do something 
    END; 
  END IF;

4.while 循环 
  WHILE V_TEST=1 LOOP 
  BEGIN 
XXXX 
  END; 
  END LOOP;

5.变量赋值 
  V_TEST := 123;

6.用for in 使用cursor 
  ... 
  IS 
  CURSOR cur IS SELECT * FROM xxx; 
  BEGIN 
FOR cur_result in cur LOOP 
  BEGIN 
   V_SUM :=cur_result.列名1+cur_result.列名2 
  END; 
END LOOP; 
  END;

7.带参数的cursor 
  CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID; 
  OPEN C_USER(变量值); 
  LOOP 
FETCH C_USER INTO V_NAME; 
EXIT FETCH C_USER%NOTFOUND; 
    do something 
  END LOOP; 
  CLOSE C_USER;

8.用pl/sql developer debug 
  连接数据库后建立一个Test WINDOW 
  在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试

一些oracle的经验的更多相关文章

  1. 给同为.NET开发者普及一点Oracle数据库经验

    前段时间,因为要给自己开发的搜易站内搜索引擎增加Oracle数据库的支持,所以学习了下Oracle的基础知识,发现使用方式跟MYSQL,MSSQL等数据库的思维有很大的不同,总结一下几点不同,希望给初 ...

  2. oracle工作经验(左右连接、decode)

    oracle左右连接:select a.studentno, a.studentname, b.classname from students a, classes b where a.classid ...

  3. 一旦配置oracle em经验

    对oracle10grac构造em,原本很easy事儿,但它需要一个很长的时间,记录下来.MEMO. 首先,例如,报告了以下错误: [oracle@node1 admin]$ emca -config ...

  4. 之前的一些Oracle的经验总结

    1. 安装: 1) 关于字符集的选择,现在还不很了解,修改是需要进入一个模式下才可以修改,当然新建一个数据库实例的时候可以重新设定: UTF8是相对比较大的一个字符集, 可以简单实用这个就能保存很多的 ...

  5. RHEL5 X86-64上安装Oracle 11gR2演示样例与总结

    进入Oracle DBA行业也有好几年了,可是说到安装Oracle的经验,我还真不是特别多,印象中刚開始每次安装都有点磕磕碰碰,随着接触Oracle的时间越来越长,各方面的原理.机制也都有一定的了解后 ...

  6. Oracle中的AWR,全称为Automatic Workload Repository

    Oracle中的AWR,全称为Automatic Workload Repository,自动负载信息库.它收集关于特定数据库的操作统计信息和其他统计信息,Oracle以固定的时间间隔(默认为1个小时 ...

  7. (转)【深度长文】循序渐进解读Oracle AWR性能分析报告

    原文:https://dbaplus.cn/news-10-734-1.html https://blog.csdn.net/defonds/article/details/52958303 作者介绍 ...

  8. oracle与DB2

    1.体系结构,DB2的实例和数据库分开的做法,我个人还是比较喜欢的,因为实例可以创建多个,数据库的恢复直接恢复到实例下就可以了,相对ORACLE简单多了. 2.管理工具,DB2的管理工具做得太简陋了, ...

  9. [转]SQLServer和Oracle,存储过程区别,常用函数对比

    本文转自:http://www.cnblogs.com/neru/archive/2011/08/18/2144049.html 以前一直用sqlserver,只有很少的一点oracle的经验,现在要 ...

随机推荐

  1. 十三 re模块

    一:什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则.(在Python中)它内嵌在Python中,并通过 r ...

  2. python爬虫知乎问答

    python爬虫知乎问答 import cookielibimport base64import reimport hashlibimport jsonimport rsaimport binasci ...

  3. Selenium 笔记

    1. 截屏:get_screenshot_as_file(“C:\\b1.jpg”) 2. 退出:(1).close----关闭当前窗口 (2).quit()-----用于结束进程,关闭所有的窗口 一 ...

  4. CentOS7 下使用root免密码输入自动登入gnome桌面

    如果系统默认启动图形界面: vi /etc/gdm/custom.conf #找到[daemon],修改为下面的 [daemon] AutomaticLoginEnable=true Automati ...

  5. (转)经验分享:CSS浮动(float,clear)通俗讲解

    文章转自:https://www.cnblogs.com/iyangyuan/archive/2013/03/27/2983813.html 很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身 ...

  6. CSS三种插入样式表格式

    首先简单理解浏览器与网页的交互过程 CSS样式表(stylesheet) cascading style sheet 级联样式表 表现HTML或XHTML文件样式的计算机语言:包含对字体.颜色.边距. ...

  7. python2/3 利用psycopg2 连接postgreSQL数据库。

    psycopg2 是一个通过python连接postgreSQL的库, 不要被它的名称蒙蔽了,你可能发现它的版本是psyconpg2.7.*, 以为它只能在python2上使用,实际上,这只是一个巧合 ...

  8. Kali proxychains

    1.什么是proxychains 在linux系统中有很多软件是不支持代理的,但是proxychains 却可以让不支持代理的软件 也能走代理通道,支持HTTP,HTTPS,SOCKS4,SOCKS5 ...

  9. LOJ-10102(桥的判断)

    题目链接:传送门 思路:找桥就行了,条件是num[v]<low[u],pre!=v; #include<iostream> #include<cstdio> #inclu ...

  10. 服务器安装ubuntu 14.04 server,开机启动屏幕不停滚动错误WRITE SAME failed. Manually zeroing

    昨天给服务器上安装了一个Ubuntu-14.04-server系统,安装完成后系统可以正常启动,但屏幕上一直滚动着一个错误,sda1:WRITE SAME failed. Manually zeroi ...