- 浏览: 1252322 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (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 2230当建立一个存储过程或函数后,默认情况下只有创建者和DBA才 ... -
ORACLE 中的SQLPLUS 的SHOW ERRORS
2012-04-05 15:54 2663在sqlplus 中 sql> show ... -
sqlplus的spool命令
2012-04-05 15:06 1519有时候我们想把SQLPLUS的会话输出保存到文件中 ... -
sqlplus 的@符号
2012-04-05 14:16 1891通常我们把ORACLE开发的PLSQL保存成文件,比如. ... -
oracle 的exp和imp命令
2012-03-31 15:23 2077我们通常要对ORACLE的数据进行导入,导出,在没有expdb ... -
oracle的sqlnet.ora,tnsnames.ora,listener.ora的理解
2012-03-31 14:45 20781 oracle中3个比较常用的配置文件 tnsna ... -
oracle 统计一个表格有多少列
2011-12-19 16:48 3161ResultSetMetaData rsMetaData ... -
TNS-12535: TNS: 操作超时
2011-09-02 12:37 2531新安装的linux虚拟机,上面装了ORACLE10G,装好后在 ... -
oracle killsession
2011-08-31 10:09 1228一条语句结束oracle的多个会话 select 'a ... -
oracle建立database link
2011-04-24 08:33 1064建立oracle database link 的命令 实 ... -
plsql编程学习之游标一
2011-04-12 20:39 2907oralce plsql编程的游标 游标分类 1显示游 ... -
plsql的异常处理部分学习整理
2011-04-10 13:01 6002ORACLE的PLSQL编程,异常 ... -
oracle10g 的sqlplus的新特性
2011-03-21 09:58 1219在使用oracle9i的sqlplus时候我们不知道当前登录的 ... -
oracle10g下的OEM的异常
2011-03-08 14:45 1470重新安装了oracle10g在笔记本上,当网络环境发生变化时容 ... -
oracle glogin.sql和login.sql
2011-03-01 16:52 3337oracle数据库安装好之后,默认在oracle_home下面 ... -
aix下面oracle用户的环境变量
2011-03-01 15:47 10239在AIX上安装oracle11g,需要oracle账号,修改. ... -
oracle 基础知识:两个number列相加
2011-01-13 10:07 135461查看表结构 SQL> desc teachers; ... -
windows7下的oracle10.2.0.1
2011-01-12 14:58 1463近日oracle网站推 ... -
oracle substr,instr用法
2011-01-07 11:36 2743Oracle中INSTR的用法: INSTR方法的格式为 ... -
oracle中用户的权限
2011-01-07 11:18 11401.查看所有用户: select * from dba_ ...
相关推荐
总结,"PLSQL高级编程-结构化编程"涵盖了从基本的语法结构到复杂的并发控制和性能优化等多个方面。理解并掌握这些知识点,将使你在Oracle数据库的开发和维护中更加得心应手。通过深入学习和实践,你可以编写出高效、...
在实际开发中,掌握PL/SQL语法是数据库管理、数据操作和业务逻辑实现的基础。通过`Sqlhelp.hlp`和`Plshelp.hlp`这样的帮助文件,开发者可以快速查找和理解特定的函数、语法点,提高编程效率。同时,不断实践和学习...
**PL/SQL编程规范** PL/SQL编程规范是Oracle数据库开发中的重要组成部分,它旨在确保代码的可读性、可维护性和团队协作的有效性。...这不仅有助于当前的开发工作,也为未来的项目提供了一个坚实的基础。
大量源码案例,手把手教你PLSQL数据库开发。内容预览: ---- 第一章 PL/SQL 简介 ---- ---- 第二章 PL/SQL程序结构 ---- ---- 第三章 变量与数据类型 ---- ---- 第四章 PL/SQL控制语句 ---- ---- 第五章 PL/SQL游标 ...
其次,PLSQL可以提高数据库的安全性,因为它可以对数据库进行严格的访问控制和权限管理。最后,PLSQL可以提高数据库的性能,因为它可以将复杂的业务逻辑封装在一个过程中,从而减少数据库的负载。 PLSQL可用的SQL...
Oracle PL/SQL 开发基础是一门面向需要在Oracle数据库上进行数据查询和代码查看的测试人员的基础教程。这门课程的目标是使学员能够熟练掌握Oracle的PL/SQL编程语言,以便有效地管理和操作数据库。课程作者为质控办的...
本文将讲述 PLSQL 基础语法,结构和组件、以及如何设计并执行一个 PLSQL 程序。 PLSQL 的优点 ---------------- PLSQL 是一种高性能的基于事务处理的语言,能运行在任何 ORACLE 环境中,支持所有数据处理命令。...
它将SQL的强大数据处理能力和传统过程化编程语言的控制结构结合起来,使得开发人员能够编写出更加复杂和高效的数据库应用程序。 - **模块化结构**:PL/SQL支持模块化的编程方式,可以将程序分割成独立的单元,每个...
- **循环控制**:通过`LOOP`, `FOR LOOP`, 和`WHILE LOOP`等循环结构控制程序重复执行某些操作。 - **异常处理**:使用异常处理结构(如`EXCEPTION`块)来捕获和处理运行时错误,确保程序的健壮性。 #### 五、PLSQL...
PL/SQL(Procedure Language for SQL)是一种专门为Oracle数据库设计的过程化语言,它结合了SQL的数据操作能力与传统过程化语言的控制结构,使得开发者能够在数据库内部编写高效、复杂的应用程序。 ##### 1.2 SQL与...
PLSQL Developer是一款强大的Oracle数据库开发工具,由Allround Automations公司开发,专为数据库管理员和开发者设计。在“PLSQLDeveloper11+汉化exe+instantclient-basic-nt-11.2.0.4.0.zip”这个压缩包中,包含了...
通过这份“PLSQL基础学习学习课件”,初学者可以逐步了解并掌握PLSQL的基本概念、语法和应用,为进一步的数据库开发和管理打下坚实基础。这份课件将详细解析上述知识点,并通过实例演示如何编写和执行PLSQL代码,...
### Oracle PL/SQL开发基础知识点概述 #### 一、PL/SQL 语言基础 ##### 1.1 什么是 PL/SQL PL/SQL (Procedural Language for SQL) 是一种专为 Oracle 数据库设计的过程化语言。它结合了 SQL 的强大功能与过程化的...