- 浏览: 1234556 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (399)
- 心情故事 (12)
- java (115)
- linux (55)
- 关系型数据库 (35)
- struts,jsf,spring (11)
- jdbc,hibernate,ibatis (11)
- jsp,jstl,c:tag,标签库 (2)
- ejb,webservice (1)
- tomcat,jboss,jetty,weblogic,websphere (15)
- java网络编程 (6)
- java线程 (0)
- js,jquery,json,xml,dom,html.regex (25)
- 设计模式 (6)
- BUG记录 (2)
- ant (2)
- jsp,servlet (4)
- swing (6)
- lucene+nutch (6)
- log4j (2)
- windows doc (2)
- ruby (1)
- ruby on rails (3)
- 操作系统网络 (18)
- apache 错误 (1)
- tomcat (10)
- jboss (9)
- jetty (9)
- weblogic (9)
- websphere (10)
- apache (2)
- AIX的iostat命令查看系统磁盘的使用情况 (1)
- oracle 统计一个表格有多少列 (1)
- Exception in thread "main" java.security.KeyStoreException: Windows-MY not found (1)
- jsp (1)
- jstl (1)
- c:tag (1)
- 标签库 (1)
- struts (1)
- jsf (1)
- spring (2)
- oracle,sqlplus (2)
- sqlplus (2)
- show errors (1)
- proc (1)
- function (1)
- ORA-06544: PL/SQL: internal error (1)
- arguments: [55916] (1)
- [] (7)
- 终端身份实施文档 (1)
- 重装系统之后飞鸽传书只能看到自己 (1)
- vsftp "上传 553 Could not create file" (1)
- startWebLogic.sh启动失败,提示Error initializing Embedded LDAP Server (1)
- java agent 注册为 windows 服务 (1)
- centos (1)
- svn (1)
- apr (1)
- apr-util (1)
- activemq (2)
- oracle (5)
- mysql (3)
- nosql (3)
- NSIS (1)
- windows wmic (1)
- c 指针 (1)
- c c++ (0)
- jmeter (0)
- 性能测试 (0)
- linux,备份 (2)
- C++ ,Virtual (1)
- windows dos (1)
- android (2)
- 大数据,云计算 (1)
- JVM垃圾收集 (1)
- jdbc (2)
- invoke (1)
- hibernate (1)
- ibatis (1)
- 个人开源项目源码收藏 (1)
- 批处理 (1)
- Mongodb mapreduce (8)
- kettle (1)
- Mongodb capped (1)
- mongodb gridfs (1)
- Mongodb 入门基础知识 (1)
- mongodb (8)
- hadoop2.5.1 (1)
- hadoop (4)
- eclipse (1)
- hdfs fs (1)
- elipse hadoop plugin (1)
- PHP相关知识 (1)
- js (1)
- jquery (1)
- json (1)
- xml (1)
- dom (1)
- html.regex (1)
- 网络知识 (1)
- nginx (1)
- docker (1)
- 测试 (1)
- nodejs (1)
- iptables (1)
- linux gitlab (1)
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
web页面调用window.print()函数实现打印的功能 -
hxdtech:
非常感谢!
我在学习ibatis时的培训ppt -
zmwxiaoming:
what 能连数据库不错
SOLR的学习整理 -
springdata_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java获取当前操作系统的信息 -
huanzei:
整理的不错,
oracle lpad函数
--匿名块 set serveroutput on; begin dbms_output.put_line('this is an anonymous block'); end; / --不考虑无数据异常 declare v_sname varchar2(200); begin select name into v_sname from students t where t.student_id=10381; dbms_output.put_line('name is'||v_sname); end; / --捕获空异常 declare v_sname varchar2(200); begin select name into v_sname from students t where t.student_id=10381; dbms_output.put_line('name is'||v_sname); exception when no_data_found then dbms_output.put_line('no data found'); end; / --注释的例子,此例子包含CASE语法,%数据类型,&表示输入 declare v_id teachers.teacher_id%type; v_job_title teachers.title%type; begin v_id:=&teacher_id; select title into v_job_title from teachers t where t.teacher_id=v_id; --将教师标号为V——id的教师职称赋值给变量 case when v_job_title='教授' then update teachers set wage=1.1*wage where teacher_id=v_id; when v_job_title='高级工程师' or v_job_title='副教授' then update teachers set wage=1.05*wage where teacher_id=v_id; else update teachers set wage=wage+100 where teacher_id=v_id; end case; end; / --注释的例子,此例子包含CASE语法,%数据类型,异常处理 declare v_id teachers.teacher_id%type; v_job_title teachers.title%type; begin v_id:=&teacher_id; select title into v_job_title from teachers t where t.teacher_id=v_id; --将教师标号为V——id的教师职称赋值给变量 exception when no_data_found then dbms_output.put_line('no teachear be found'); case when v_job_title='教授' then update teachers set wage=1.1*wage where teacher_id=v_id; when v_job_title='高级工程师' or v_job_title='副教授' then update teachers set wage=1.05*wage where teacher_id=v_id; else update teachers set wage=wage+100 where teacher_id=v_id; end case; end; / --假如只有1个值,那么可以这样写,假如比较的条件比较多,那么换上面的写法 declare v_id teachers.teacher_id%type; v_job_title teachers.title%type; begin v_id:=&teacher_id; select title into v_job_title from teachers t where t.teacher_id=v_id; --将教师标号为V——id的教师职称赋值给变量 exception when no_data_found then dbms_output.put_line('no teachear be found'); case v_job_title when '教授' then update teachers set wage=1.1*wage where teacher_id=v_id; when '高级工程师' then update teachers set wage=1.05*wage where teacher_id=v_id; else update teachers set wage=wage+100 where teacher_id=v_id; end case; end; / --在PLSQL中执行select语句, select * from departments; declare v_id departments.department_id%type; v_name departments.department_name%type; v_address departments.address%type; begin select * into v_id,v_name,v_address from departments where department_id=&department_id; dbms_output.put_line('系部名称:'||v_name); dbms_output.put_line('系部地址:'||v_address); end; / --行类型的数据类型 ,异常处理应该写到select into 之后?还是输出之后?还是只要有异常处理,写到哪里都没有关系,oracle会自动需找异常处理的代码? --假如有些异常不可预料,怎么写? declare v_student students%rowtype; begin select * into v_student from students where student_id =&student_id; dbms_output.put_line('name sex birthday'); dbms_output.put_line(v_student.name || v_student.sex||v_student.dob); exception when no_data_found then dbms_output.put_line('no data found'); /*在表中执行select into 这条语句,如果返回值为空,那么会抛出no_data_found异常, 如果返回的结果过多,那么则会抛出too_many_row异常*/ end; / --假如没有找到数据,什么都不做 declare v_id teachers.teacher_id%type; v_title teachers.title%type; begin v_id:=&teacher_id; select title into v_title from teachers where teacher_id=v_id; exception when no_data_found then null; if v_title='' then update teachers set wage=1.1*wage where teacher_id=v_id; else update teachers set wage=wage+100 where teacher_id=v_id; end if; end; ---多次elsif的例子 declare v_id teachers.teacher_id%type; v_title teachers.title%type; begin v_id:=&teacher_id; select title into v_title from teachers where teacher_id=v_id; exception when no_data_found then null; if v_title='' then update teachers set wage=1.1*wage where teacher_id=v_id; elsif v_title='aaa' then update teachers set wage=wage+100 where teacher_id=v_id; elsif v_title='ccc' then null; else null; end if; end; --loop循环的例子 create table total(n int ,reault int); declare v_i int:=1; v_sum int:=0; begin loop v_sum:=v_i+1; insert into total values (v_i,v_sum); exit when v_sum=10; v_i:=v_i+1; end loop; end; / select * from total; --while 循环的例子 declare v_i INTEGER:=1; v_sum INTEGER:=0; begin while v_i<=10 loop v_sum:=v_i+1; insert into total values(v_i,v_Sum); v_i:=v_i+1; end loop; commit; end; / select * from total; --for循环的测试例子 declare v_i int:=1; v_sum int :=1; begin for v_i in 1..100 loop v_sum:=v_i*1; insert into total values (v_i,v_sum); end loop; commit; end; / select * from total;
发表评论
-
存储过程的授权和删除
2012-04-12 17:05 2159当建立一个存储过程或函数后,默认情况下只有创建者和DBA才 ... -
ORACLE 中的SQLPLUS 的SHOW ERRORS
2012-04-05 15:54 2574在sqlplus 中 sql> show ... -
sqlplus的spool命令
2012-04-05 15:06 1466有时候我们想把SQLPLUS的会话输出保存到文件中 ... -
sqlplus 的@符号
2012-04-05 14:16 1815通常我们把ORACLE开发的PLSQL保存成文件,比如. ... -
oracle 的exp和imp命令
2012-03-31 15:23 2025我们通常要对ORACLE的数据进行导入,导出,在没有expdb ... -
oracle的sqlnet.ora,tnsnames.ora,listener.ora的理解
2012-03-31 14:45 20211 oracle中3个比较常用的配置文件 tnsna ... -
oracle 统计一个表格有多少列
2011-12-19 16:48 3117ResultSetMetaData rsMetaData ... -
TNS-12535: TNS: 操作超时
2011-09-02 12:37 2445新安装的linux虚拟机,上面装了ORACLE10G,装好后在 ... -
oracle killsession
2011-08-31 10:09 1181一条语句结束oracle的多个会话 select 'a ... -
oracle建立database link
2011-04-24 08:33 1044建立oracle database link 的命令 实 ... -
plsql编程学习之游标一
2011-04-12 20:39 2880oralce plsql编程的游标 游标分类 1显示游 ... -
plsql的异常处理部分学习整理
2011-04-10 13:01 5959ORACLE的PLSQL编程,异常 ... -
oracle10g 的sqlplus的新特性
2011-03-21 09:58 1190在使用oracle9i的sqlplus时候我们不知道当前登录的 ... -
oracle10g下的OEM的异常
2011-03-08 14:45 1435重新安装了oracle10g在笔记本上,当网络环境发生变化时容 ... -
oracle glogin.sql和login.sql
2011-03-01 16:52 3287oracle数据库安装好之后,默认在oracle_home下面 ... -
aix下面oracle用户的环境变量
2011-03-01 15:47 10192在AIX上安装oracle11g,需要oracle账号,修改. ... -
oracle 基础知识:两个number列相加
2011-01-13 10:07 134631查看表结构 SQL> desc teachers; ... -
windows7下的oracle10.2.0.1
2011-01-12 14:58 1423近日oracle网站推 ... -
oracle substr,instr用法
2011-01-07 11:36 2702Oracle中INSTR的用法: INSTR方法的格式为 ... -
oracle中用户的权限
2011-01-07 11:18 11161.查看所有用户: select * from dba_ ...
相关推荐
大量源码案例,手把手教你PLSQL数据库开发。内容预览: ---- 第一章 PL/SQL 简介 ---- ---- 第二章 PL/SQL程序结构 ---- ---- 第三章 变量与数据类型 ---- ---- 第四章 PL/SQL控制语句 ---- ---- 第五章 PL/SQL游标 ...
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL...
3) 顺序结构 实际就是goto的运用,不过从程序控制的角度来看,尽量少用goto可以使得程序结构更加的清晰。 变量声明与赋值 PL/SQL主要用于数据库编程,所以其所有的数据类型跟Oracle数据库里的字段类型是一一对应...
从Oracle6开始,Oracle公司在标准SQL的基础上发展了自己的PL/SQL语言,将变量、控制结构、过程和函数等结构化程序设计的要素引入了SQL语言中,这样就能够编制比较复杂的SQL程序了,利用PL/SQL语言编写的程序也称为...
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL...
第三章 PL/SQL流程控制语句 13 §3.1 条件语句 13 §3.2 CASE 表达式 13 §3.3 循环 13 §3.3 标号和GOTO 13 §3.4 NULL 语句 13 第四章 游标的使用 13 §4.1 游标概念 13 §4.1.1 处理显式游标 13 §4.1.2...
编写控制结构 7.1 条件分支语句 7.2 CASE语句 7.3 循环语句 7.4 顺序控制语句 7.5 习题 第8章 使用复合数据类型 8.1 PL/SQL记录 8.1.1 定义PL/SQL记录 8.1.2 使用PL/SQL...
│ Oracle程序员开发指南.pdf │ └─北大青鸟oracle9i ├─1 │ -ORACLE公司传奇.doc │ 1作业.txt │ Oracle控制台使用.doc │ TP1V1.0.ppt │ 其它补充.txt │ 登录SQLPLUS.txt │ ├─2 │ 2上机...
控制结构 PL/SQL程序段中有三种程序结构:条件结构、循环结构和顺序结构。 1) 条件结构 与其它语言完全类似,语法结构如下: if condition thenstatement1elsestatement2end if ; 2) 循环结构 这一结构与其他...
第13章 编写控制结构 第14章 使用复合数据类型 第15章 使用游标 第16章 异常处理 . 第17章 本地动态sql 第18章 pl/sql过程 第19章 pl/sql函数 第20章 pl/sql包 第21章 触发器 第22章 使用对象...
软件工程和软件过程模型、版本控制 掌握业界软件开发规范和方式 J2EE商务应用系统项目开发 4~5人一个项目组,项目大小为(25人*工作日左右) 掌握大型商务系统开发的运作方式和开发方法 .net程序设计 掌握.net程序...
能够帮助你充分利用pl/sql来解决数据库开发中遇到的各种问题,引导你掌握各种构建应用的技巧和技术,以便使你编写出高效、可维护的代码。《oracle pl/sql程序设计(第5版)》不但介绍了大量的oracle 11g的pl/sql新性能...
第13章 编写控制结构 第14章 使用复合数据类型 第15章 使用游标 第16章 异常处理 . 第17章 本地动态sql 第18章 pl/sql过程 第19章 pl/sql函数 第20章 pl/sql包 第21章 触发器 第22章 使用对象...
第13章 编写控制结构 第14章 使用复合数据类型 第15章 使用游标 第16章 异常处理 . 第17章 本地动态sql 第18章 pl/sql过程 第19章 pl/sql函数 第20章 pl/sql包 第21章 触发器 第22章 使用对象...
第13章 编写控制结构 第14章 使用复合数据类型 第15章 使用游标 第16章 异常处理 . 第17章 本地动态sql 第18章 pl/sql过程 第19章 pl/sql函数 第20章 pl/sql包 第21章 触发器 第22章 使用对象...
2) 扩展控制结构; 3) 扩展过程与函数; 4) 扩展对象类型与方法 ---- 第二章 PL/SQL程序结构 ---- 1. PL/SQL块 1) 申明部分, DECLARE (如果语句不需要声明任何变量,可以不写); 2) 执行部分, BEGIN <-------...
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个...
对于二进制排序, ORDER BY 查询的比较顺序是以数值为基础的。对于语言排序, 则需要进行全表扫描, 以便将数据按照所定义的语言排序进行整理。 值范围: BINARY 或有效的语言定义名。 默认值: 从 NLS_LANGUAGE 中获得...