PL/SQL
一、PLSQL 变量
set serveroutput on;
declare v_num number :=0;--变量名一般以v开头
begin
v_num:=2/v_num; --这句因为除数为0会报错。
dbms_output.put_line(v_num);
end;
/
异常处理:
set serveroutput on;
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('错误');
end;
/
变量类型
binary_integer: 整数,主要用来计数而不是用来表示字段类型
number 数字类型
char 定长字符串
varchar2 变长字符串
date 日期
long 长字符串,最长2G
boolean 布尔类型,可以取值为true,false ,和null。
声明变量:
set serveroutput on;
declare v_num number :=0;
v_bl boolean :=false;
begin
dbms_output.put_line('s');
end;
/
注意:declare 放在变量声明的最前面,无论声明多少个变量仅可放一个declare
boolean 类型的变量是不能通过dbms_output.put_line()打印出来的。
得到表中字段类型
%type
set serveroutput on;
declare v_num number :=0;
v_blnum v_num%type := v_num;
begin
dbms_output.put_line(v_blnum);
end;
/
Record 类型:
set serveroutput on;
declare type type_record is record
(
name1 varchar(20),
age number
);
v_type_record type_record;
begin
v_type_record.name1:='nihaoname';
v_type_record.age:=23;
dbms_output.put_line(v_type_record.name1||' '||v_type_record.age);
end;
/
使用%rowtype声明record 变量(将对应表的所有类型作为该变量的成员)
set serveroutput on;
declare
v_school school%rowtype;
begin
v_school.name1:='nama';
v_school.age:='age';
dbms_output.put_line(v_school.name1||v_school.age);
end;
二、PL/SQL中的sql
1. Insert 语句
Insert 语句必须要有返回值且只有一条返回。
Insert 语句中必须有into 将查到的数据放入到对应的变量中。注意into两边的值的个数要相同。
Into 后可以传入一个record类型的变量,用于将查询出来的值放入到该变量中。
set serveroutput on;
declare
v_school school%rowtype;
begin
select name1 ,age into v_school from school;
dbms_output.put_line(v_school.name1);
end;
/
2. Update 语句
sql%rowcount 得到刚刚执行sql影响的行数。
set serveroutput on;
declare
v_school school%rowtype;
begin
update school set name1='tes2t' where name1='s' ;
dbms_output.put_line(sql%rowcount||'ss');
commit;
end;
/
3. 执行DDL 语句
在pl/sql 中执行sql语句方法
三、判断语句
set serveroutput on;
declare
v_num number(20) :=1399;
begin
if (v_num <1200) then
dbms_output.put_line('low');
elsif(v_num<1800) then
dbms_output.put_line('middle');
else
dbms_output.put_line('high');
end if;
end;
/
四、循环
set serveroutput on;
declare
i number(20) :=1;
begin
loop
dbms_output.put_line('nihao'||i);
i:=i+1;
exit when (i>=5);font-family: Courier; background: white; color: black;
分享到:
相关推荐
《Oracle PL/SQL程序设计(第5版)(套装上下册)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何...
PL/SQL是Oracle对标准数据库语言的扩展,Oracle公司已经将PL/SQL整合到Oracle 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本教程将以循速渐进的方式讲述PL/SQL基础语法,结构和组件、以及...
Topics covered: How to use Oracle PL/SQL in all its manifestations through Oracle9i. Fundamentals of program structure (loops, cases, exceptions, etc.) and execution get attention, as do data types, ...
Oracle PL/SQL实例精解 student模式 数据库建立代码 包括数据库的建立、索引等。样本数据的插入。
Oracle PL/SQL实例编程 Oracle PL/SQL实例编程 Oracle PL/SQL实例编程
oracle pl/sql实例精讲student数据库模式
Considered the best Oracle PL/SQL programming guide by the Oracle community, this definitive guide is precisely what you need to make the most of Oracle’s powerful procedural language. The sixth ...
Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发
oracle pl/sql从入门到精通 配套源代码
Oracle PL/SQL学习官方教材,英文版,覆盖了PL/SQL的所有知识,适合入门者或作为参考资料.
oracle PL/SQL pdf学习资料oracle PL/SQL pdf学习资料oracle PL/SQL pdf学习资料oracle PL/SQL pdf学习资料oracle PL/SQL pdf学习资料
《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...
ORACLE PL/SQL编程之八ORACLE PL/SQL编程之八ORACLE PL/SQL编程之八ORACLE PL/SQL编程之八
《oracle pl/sql程序设计(第5版)》基于oracle数据库11g,从pl/sql编程、pl/sql程序结构、pl/sql程序数据、pl/sql中的sql、pl/sql应用构建、高级pl/sql主题6个方面详细系统地讨论了pl/sql以及如何有效地使用它。...
这是我自己根据书本《ORACLE PL/SQL从入门到精通》何明,写的笔记,有目录。
oracle 9i pl/sql程序设计笔记。
《OraclePL/SQL程序设计(第5版)》不但介绍了大量的Oracle11g的PL/SQL新性能,还提供了许多优化PL/SQL性能的新方法。 《OraclePL/SQL程序设计(第5版)》结构清晰,示例丰富,实践性强,适用于Oracle数据库开发人员、...
Oracle PL/SQL程序设计,经典书籍,既可以当教材学习,也可以当手册查询。
PL/SQL是嵌入到Oracle服务器和开发工具中的,具有很高的执行效率和同Oracle数据库的完美结合。在PL/SQL模块中可以使用查询语句和数据操纵语句(即进行DML操作),这样就可以编写具有数据库事务处理功能的模块。 至于...
pl/sql存储过程,函数,游标,以及存储过程中的基础知识,绝对值得你收藏的经典题目,让你的pl/sql得到最大的锻炼。让你的数据库逻辑更加灵活。