set serveroutput on;
begin
dbms_output.put_line('Hello World!');
end;
--语句的组成
declare
v_num number := 0;
begin
v_num :=2/v_num;
dbms_output.put_line(v_num);
exception
when others then
dbms_output.put_line('error');
end;
常用变量类型:
1. binary_integer: 主要用来计数 而不是用来表示字段的类型
2. number:数字类型
3. char:定长字符串
4. varchar2:变长字符串
5. date:日期
6. long:长字符 最长2g
7. boolean 布尔类型 true fasle 和null值 ,不给初值为null
例子:
declare
v_temp number(1);
v_count binary_integer :=0;
v_sal number(7,2) := 4000.00;
v_date date :=sysdate;
v_pi constant number(3,2) := 3.14;
v_valid boolean :=false;
v_name varchar2(20) not null :='MyName';
begin
dbms_output.put_line('v_temp value:'|| v_temp);
end;
---------------------------
v_temp value:
---------------------------
declare
v_empno number(4);
v_empno2 emp.empno%type
v_empno3 vempno2%type
bengin
dbms_output.put_line('Test');
end;
--Table变量类型 相当于java数组
set serveroutput on;
declare
type type_table_emp_empno is table of emp.empno%type index by binary_integer;
v_empnos type_table_emp_empno;
begin
v_empnos(0) :=7369;
v_empnos(2):=7839;
v_empnos(-1):=9999;
dbms_output.put_line(v_empnos(-1));
end;
************
9999
************
--Record变量类型
declare
type type_record_dept is record
(
deptno dept.deptno%type,
dname dept.dname%type,
loc dept.loc%type
);
v_temp type_record_dept;
begin
v_temp.deptno:=50;
v_temp.dname :='aaa';
v_temp.loc :='bj';
dbms_output.put_line(v_temp.deptno||' '||v_temp.dname);
end;
************
50 aaa
************
--使用%rowtype声明record变量
declare
v_temp dept%rowtype;
begin
v_temp.deptno:=50;
v_temp.dname :='aaa';
v_temp.loc :='bj';
dbms_output.put_line(v_temp.deptno||' '||v_temp.dname);
end;
***************
50 aaa
***************
PLSQL的SQL语句
PLSQL中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 ||' '|| v_sal);
end;
***************
SMITH 800
***************
简便写法
declare
v_emp emp%rowtype;
begin
select * into v_emp from emp where empno=7369;
dbms_output.put_line(v_ename ||' '|| v_sal);
end;
***************
SMITH 800
***************
--insert 语句
declare
v_deptno dept.deptno%type:=50;
v_dname dept.dname%type :='aaaa';
v_loc dept.loc%type :='bj';
begin
insert into dept2 values (v_deptno,v_dname,v_loc);
commit;
end;
-----------------------------------------
declare
v_deptno emp2.deptno%type :=10;
v_count number;
begin
-- update emp2 set sal = sal/2 where deptno=v_deptno;--影响3条
-- select count(*) into v_count from emp2;--影响1条,指生成1个值
select deptno into v_deptno from emp2 where empno=7369;
dbms_output.put_line(sql%rowcount||'跳记录被影响 ');
--sql%rowcount sql是关键字 rowcount属性
commit;
end;
----------------------------------------
PLSQL的DDL语句 执行需要immediate
begin
execute immediate 'create table T (nnn varchar2(20) default ''aaa'')';
end;
-- if语句
取出7369的薪水 如果小于'low',如果<2000则输出'middle'否则'high'
declare
v_sal emp.sal%type;
begin
select sal into v_sal from emp
where empno=7369;
if(v_sal<1200) then
dbms_output.put_line('low');
elsif(v_sal <2000) then --elsif
dbms_output.put_line('middle');
else
dbms_output.put_line('high');
end if;
end;
******
low
******
--循环
1. 相当于do.. while..
declare
i binary_integer :=1;
begin
loop
dbms_output.put_line(i);
i:= i+1;
exit when(i >=1);
end loop;
end;
*****
1
2
3
4
5
6
7
8
9
******
10
--相当于while
declare
j binary_integer :=1;
begin
while j< 11 loop
dbms_output.put_line(j);
j:=j+1;
end loop;
end;
-- 相当于for 循环
begin
for k in 1..10 loop
dbms_output.put_line(k);
end loop;
for k in reverse 10..1 loop
dbms_output.put_line(k);
end loop;
end;
分享到:
相关推荐
2. 1Z0-007 Note.doc:1Z0-007是Oracle Certified Associate, Oracle Database 12c Administrator Certified Professional的考试代码,这个文档可能是针对该考试的复习笔记或学习指南,包含PL/SQL部分的要点,如数据...
PLSQL,全称为Procedural Language/Structured Query Language,是Oracle数据库系统中用于扩展SQL的编程...对于初学者来说,这个压缩包提供了一个良好的起点,对于有一定基础的人来说,也是一个不错的复习和提升工具。
PL/SQL SQL语言复习笔记 PL/SQL 是一种 procedural language,用于处理和操作数据库中的数据。它是 Structured Query Language(SQL)的扩展,提供了更多的编程功能和控制能力。 SQL 语言的发展 SQL 语言的发展...
虽然此复习文档不涉及PLSQL和SQL的详细内容,但仍然提供了丰富的理论基础和复习要点。 首先,数据库设计的过程类似于软件生命周期模型,包括需求分析、概念设计、逻辑设计、物理设计、数据库实施和运营维护。需求...
本复习文档主要针对大连理工大学软件学院的数据库程序设计课程,重点关注Oracle数据库的相关知识,不涉及PLSQL和SQL的具体内容。复习过程中,应当掌握以下几个核心知识点: 1. **数据库设计过程**: 虽然第一章不...
SQL PLSQL测验 Struts注册验证测验 XML DOM测注册验证测验 ACCP4.0_OOAD&XML&ORACLE_内部测试题.doc ACCP4.0_OOAD&XML&ORACLE_内部测试题-ss.doc ASP.NET.doc ASP.NET.txt EJB答案.txt Linux.txt OOAD.TXT Oracle....
### 数据库知识点整理 #### 一、数据库与表的基本操作 - **数据库和表的创建**: ...以上是对数据库基本操作的一些重要知识点总结,涵盖了创建、修改、查询等方面的内容,对于初学者和需要复习的人来说都非常有用。
Oracle PL/SQL是一种在Oracle数据库环境中用于开发存储过程、函数、触发器和其他数据库对象的编程语言。...提供的"PLSQL基础(已经看完,复习1遍).pdf"文件应该是一个很好的学习资源,可以帮助巩固所学知识。
从提供的文件内容中,我们可以得到以下关于ThinkPHP连接Oracle数据库的知识点: 1. 软件位数的重要性:在安装和配置软件时,软件的...这不仅对初学者有重要的指导意义,对经验丰富的开发者也是一个很好的复习和参考。
本培训资料旨在为初学者提供基础且实用的Oracle知识,同时也适用于经验丰富的开发者进行复习和巩固。 Oracle数据库的核心概念包括: 1. **数据模型**:Oracle基于关系数据模型,其中数据被组织成表格形式,每个...
### Oracle面试题知识点详解 #### 一、填空题知识点解析 **1....以上知识点覆盖了Oracle数据库的基础概念、SQL语言的基本使用以及一些高级特性,对于准备Oracle面试的人来说是非常重要的复习内容。