- 浏览: 305237 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (167)
- <HTML and JavaScript and CSS> (6)
- 《Java2 基础知识及概念》 (3)
- Java2 Tools及其他 (11)
- EJB2.0 相关 (3)
- 英语学习 (4)
- Oracle Database Server (27)
- 计算机理论 (9)
- Java持久层框架 (2)
- 《Linux操作系统》 (24)
- 杂项技术 (4)
- Application Server (15)
- Windows操作系统 (7)
- Java中间件 (6)
- 娱乐生活 (4)
- 《Java设计模式》 (3)
- 《Interview Skill》 (1)
- 《Struts原理及应用》 (1)
- Workflow (2)
- 云计算 (3)
- 项目实践 (3)
- WEB相关技术 (10)
- JavaScript技巧及应用 (1)
最新评论
declare
begin
exception
end
SQL> set serveroutput on
SQL> begin
2 dbms_output.put_line('Hello world!');
3 end;
4 /
Hello world!
SQL> declare
2 v_name varchar2(20);
3 begin
4 v_name := 'myname';
5 dbms_output.put_line(v_name);
6 end;
7 /
myname
SQL> declare
2 v_num number :=0;
3 begin
4 v_num := 2/v_num;
5 dbms_output.put_line(v_num);
6 exception
7 when others then
8 dbms_output.put_line('error');
9 end;
10 /
error
变量声明的规则
(1) 变量不能是保留字 通常: v_
(2) 第一个字符必须是字母
(3) 变量名长度小于30
(4) 不能与表名,列名相同
(5) 每行只能声明一个变量
常用变量类型
(1) binary_integer 整数,主要用于计数
(2) number 数字类型
(3) char,varchar2
(4) date
(5) long
(6) boolean true, false,null
注释
/* ... */
//
%type
v_empno2 em.empno%type;
v_empno3 v_empno2%type;
Table 变量类型
type t_table_emp_empno is table of emp.empno%type index by binary_integer;
v_empnos t_table_emp_empno;
Record 变量类型
type t_record_dept is record
(
deptno dept.deptno%type,
dname dept.dname%type,
loc dept.loc%type
);
v_temp t_record_dept;
v_temp dept%rowtype
Select 语句
declare
v_ename emp.ename%type;
v_sal emp.sal%type;
begin
select ename,sal into v_ename,v_sal from emp where empno=7369;
dbms_output.put_line(v_ename);
end;/
必须返回一行记录,否则报错
v_emp emp%rowtype
select * into v_emp from emp where empno=7369;
Insert , update语句
insert into dept2 values (v_deptno,v_dname,v_loc);
commit;
dbms_output.put_line(sql%rowcount) || '记录被影响'
DDL语句
begin
execute immediate 'create table T(nnn varchar2(20))';
end;/
IF 语句
if (v_sal < 1200) then
xxx;
elseif (v_sal < 2000) then
xxx;
else
xxx;
end if;
循环语句
loop
xxx;
i := i + 1;
exit when (i >= 11);
end loop;
while j < 11 loop
j := j + 1;
end loop;
for k in 1..10 loop
xxx;
end loop;
for k in reverse 1..10 loop
xxx;
end loop;
异常处理
exception
when too_many_rows then
xxxxx;
when no_data_found then
xxxxx;
when others then
xxxxx;
游标
declare
cursor c is select * from emp;
v_emp c%rowtype
begin
open c;
loop
fetch c into v_emp;
exit when (c%notfound);
dbms_output.put_line(v_emp.ename);
end loop;
close c:
end;
4个属性
c%isopen, c%notfound,c%found,c%rowcount
for v_emp in c loop
xxx;
end
游标自动打开,关闭,自动fetch
带参数的游标
declare
cursor c (v_deptno emp.deptno%type, v_job emp.job%type)
is select xxx where xxx=xxx,xxx
begin
for v_temp in c(30,'CLERK') loop
xxx;
end loop;
end;
可更新的游标
declare
cursor c (v_deptno emp.deptno%type, v_job emp.job%type)
is select xxx where xxx=xxx,xxx for update
update emp2 set sal = sal * 2 where current of c;
delete from emp2 where current of c;
Store proceduer
create or replace procedure p
is (取代declare)
plsql code
执行: exec p;
或者
begin
p;
end;
带参数的存储过程
create or replace procedure p (v_a in number, v_b number, v_ret out number, v_temp in out number)
is
plsql code
in: 传入参数 默认是in
out: 传出参数
declare
v_a number :=3;
v_b number :=4;
v_ret number;
v_temp number :=5;
begin
p(xx,xx,xx,xx);
xxx;
end;
SQL> show error 显示存储过程的编译错误
函数function
create or replace function f (v_sal number) return number
is
函数体
v_ret := f();
select f() from dual;
Trigger 触发器
create or replace trigger trig
after insert or update or delete on emp for each row
begin
if inserting then
xxx
.................................
end
:New.deptno :Old.deptno
发表评论
文章已被作者锁定,不允许评论。
-
Oracle忘记数据库密码
2011-07-01 23:45 777alter user xxx identified by xx ... -
Oracle内存全面分析
2010-07-07 16:49 868http://www.hellodba.com/Doc/ora ... -
(15)Managing User
2010-07-07 13:59 853SQL> alter user xxx quo ... -
(14) Managing Password Security and Resources
2010-07-07 13:59 765Password Management SQL> ... -
(13) Managing Data Integrity
2010-07-07 13:58 758... -
(12) Managing Indexes
2010-07-07 13:58 748a -
(11)Managing Table
2010-07-07 13:57 822Storing User Data(1) Regular t ... -
(10) Managing Undo Data
2010-07-07 13:56 808show parameter undo; ... -
(9) Storage Structure and Relationships
2010-07-07 13:55 986Extent Allocat ... -
(8) Managing Tablespaces and Data files
2010-07-07 13:55 1106SQL> select * from v$tabl ... -
(7) Maintaining Redo Log Files
2010-07-07 13:54 1153SQL> select * from v$lo ... -
(6) Maintaining Control file
2010-07-07 13:54 718select * from v$database; se ... -
(5)Data Dictionary Content and Usage
2010-07-07 13:53 1023Data Dictionary(1) Data Dictio ... -
(4)Create a Database
2010-07-07 13:52 821Operating System EnvironmentOR ... -
(3)Manage a Oracle Instance
2010-07-07 13:39 819Init Parameter Start Sequences ... -
(2)Getting Start With the Oracle Server
2010-07-07 11:24 805Interactive Installation$ ./r ... -
《Oracle视频教程》
2010-07-07 11:23 22521. Oracle Architectural Compone ... -
Oracle EXP/IMP命令详解
2010-07-07 10:01 1084EXP命令 格式: EXP KEYWORD=value ... -
Oracle EXP Direct
2010-07-07 10:00 1248Oracle提供2种模式导出表数据,传统模式CONVENTIO ... -
EXPDP和IMPDP使用说明
2010-07-07 09:53 1058EXPDP命令行选项 1. ATTACHexpd ...
相关推荐
本入门教程针对PLSQL的新手,旨在帮助读者快速掌握其基本概念、语法和应用。 1. **PLSQL的基本结构** PLSQL由三部分组成:声明部分、执行部分和异常处理部分。声明部分定义变量、常量、游标和过程;执行部分包含...
本资料《Oracle PLSQL 从入门到精通》旨在帮助初学者和进阶者全面掌握这一语言,通过深入学习,你可以更好地管理和操作Oracle数据库。 PLSQL由三部分组成:声明部分、执行部分和异常处理部分。声明部分用于定义变量...
讲解PLSQL的一些相关知识,帮助新手入门学习了解PLSQL
RubyonRails九日学习计划(含相关软件及书籍)时间 内容 目的<br>第一天 学习oracle 基本工具掌握 plsql ,sql语言,范式,索引,数据库安全,数据备份,导入导出。 熟练掌握SQL语言<br>第二天 1. ruby 语言历史和...
这本书《PLSQL入门》以清晰的条理和简洁的版面设计,为初学者提供了一个理想的起点,帮助读者快速掌握PLSQL的基础知识。 一、PLSQL基础 PLSQL由三个主要部分组成:声明部分、执行部分和异常处理部分。声明部分用于...
对于需要使用PLSQL的朋友,可以是个不错的入门文档
Les1-声明变量.pdf Les2-PLSQL中的可执行语句.pdf Les3-与Oracle服务器之间的交互.pdf Les4-控制结构.pdf Les5-复合数据类型的使用.pdf Les6-显式游标的使用.pdf Les7-高级显式游标.pdf Les8-异常处理.pdf
本资料《Oracle PLSQL 从入门到精通》将引领读者深入理解这一强大的工具。 首先,入门阶段,你需要了解PLSQL的基本结构,包括声明部分(DECLARATION)、执行部分(EXECUTION)和异常处理部分(EXCEPTION)。声明...
语法入门、操作plsql、存储过程、函数、触发器、游标、包、返回类型;一个execle表轻松搞定。
本文档详细讲解了sql的安装过程,理论知识等,对初学者是一个很好的入门学习资料。希望通过学习能够熟练掌握PLSQL的数据库操作。
作为PLSQL基础入门教程,这篇文章旨在为读者提供一个系统的PLSQL入门指南。从PLSQL的基本概念到高级应用,本教程涵盖了PLSQL的所有方面,为读者提供了一个全面的学习体验。 首先,让我们从PLSQL的基本概念开始。...
PLSQL基础入门 PLSQL是Oracle数据库中的一种过程语言,用于编写存储过程、函数和触发器。PLSQL的基础知识点包括变量声明、数据类型、控制结构、异常处理等。 一、基础概念 1. PL/SQL是不区分大小写的,除非是由...
变量的定义格式一般为 `<variablename> [CONSTANT] <datatype> [[NOT NULL] {DEFAULT|:=} <expression>]`,其中CONSTANT表示常量,需赋予初始值,NOT NULL表示变量不可为空,并需赋予初始值。Oracle提供多种数据类型...
根据提供的文件信息,我们可以深入探讨以下几个关键的知识点: ### 1. PL/SQL 语言简介 PL/SQL(Procedure Language / SQL)是Oracle为增强其数据库功能而开发的...希望这些内容能够帮助初学者快速入门 PL/SQL 编程。
本书“Oracle9i PLSQL 入门到精通”旨在帮助读者从基础开始,逐步掌握这一强大的工具。 1. **PLSQL基本概念** - PLSQL由三部分组成:声明部分、执行部分和异常处理部分。 - 声明部分用于定义变量、常量、游标、...
=`(或`<>`)、`>`, `<`, `>=`, `<=`, `IN`, `BETWEEN`, `LIKE`, `NOT IN`, `IS NULL`, `IS NOT NULL`是常用的操作符。例如,`IN`和`NOT IN`用于指定值的集合,`BETWEEN`和`NOT BETWEEN`用于指定范围,`LIKE`和`NOT ...
"PLSQL从入门到精通随书源码"是一份宝贵的资源,它能帮助学习者通过实际操作来加深对PL/SQL的理解。下面将详细阐述PL/SQL的基础知识及其重要特性。 1. PL/SQL概述: PL/SQL(Procedural Language/Structured Query ...
### PL/SQL 入门 #### 1. PL/SQL 概述 - **定义**:PL/SQL (Procedure Language for SQL) 是 Oracle 公司对 SQL 语言的一种扩展,它是一种过程化语言,结合了 SQL 的数据操作能力与传统程序设计语言的控制结构。 - ...
这篇“PLSQL基础入门手册”正是针对初学者设计的,旨在帮助他们快速掌握PLSQL的基础知识和核心概念。 首先,我们要理解PLSQL的基本结构,它由三部分组成:声明部分、执行部分和异常处理部分。声明部分定义变量、...