ORACLE数据库笔记之PL/SQL

PL/SQL

PL/SQL是一种块结构的语言,它是将一组语句放在一个块中,一次性发送给服务器。它是结合Oracle过程语言和结构化查询语言的一种扩展语言

PL/SQL代码块的构成

declare --标记声明部分用来声明一些变量,位于begin之前

begin  --主程序体开始的标志

主程序体块;

[exception

when 异常名 then 异常处理的方法;

when 异常名  then 异常处理的方法;

...

when other then 异常处理的方法;]

end;  --主程序题结束的标志

PL/SQL的常量和变量

变量的定义:

declare --用来声明变量

变量名  变量类型;                      --直接定义不赋初值

变量名  变量类型:=变量值;         --定义变量并且赋初值

变量名   匹配的数据库中原有的值;    --直接使用数据库中原有的值来匹配 例(name person.name%type)

常量的定义:

常量名 constant   数据类型:=值;  --注意constant是必须的

(宿主常量:定义和普通的常量定义一样,使用时为:变量名 代码如下:)

var emp_name varchar(30);
BEGIN
 SELECT ename INTO :emp_name FROM emp WHERE empno=7499; ②
 END;

PL/SQL中运算符

类型                     符号                              说明

赋值运算符             :=                              PL/SQL中的赋值

特殊字符                ||                                 字符串连接符

--                                 PL/SQL中的单行注释

/*,*/                              PL/SQL中的多行注释,多行注释不能嵌套

<<,>>                            标签分割符,只为了标示程序中的特殊位置

..                                    范围操作符比如:1..5标示从1到5

算术运算符           + - * /                            基础算术运算符

**                                  求幂操作例子:2**3=8

关系运算符          > ,< ,>=, <=, =              基本关系运算符

<>,!=                             不等于运算符

逻辑运算符          and,or,not                         逻辑运算符

PL/SQL程序的主体执行部分

赋值语句:

(1)接收用户的输入:

declare
  n int; --定义一个变量来接收用户输入的数值
begin
   n:=&a; --弹出一个消息框进行输入
end;

(2)从查询结果中赋值

set serveroutput on;
declare
n number(4);
begin
   select empno into n from emp where=‘7369‘;
dnms_output.put(n);
end;

PL/SQL控制语句

(1)if...then      elsif … then      end if;

判断if正确则执行then,否则执行else(elsif为嵌套判断)

注意elsif,里面少一下e.

(2)Case  var  when … then    when … then   end

有逻辑的从数值中做出选择

(3)Loop     exit    end loop

循环控制,用判断语句执行exit

(4)Loop       exit when …        end loop

同上,当when为真时执行exit

(5)while 条件 loop     循环体    end loop

当while为真时循环

(6)for  循环变量  in  [rerverse意思是反转即从上限想下限循环]  循环下限..循环管上限  loop    循环体    end loop

已知循环次数的循环

时间: 2024-10-11 13:44:08

ORACLE数据库笔记之PL/SQL的相关文章

Oracle数据库之开发PL/SQL子程序和包

Oracle数据库之开发PL/SQL子程序和包 PL/SQL块分为匿名块与命名块,命名块又包含子程序.包和触发器. 过程和函数统称为PL/SQL子程序,我们可以将商业逻辑.企业规则写成过程或函数保存到数据库中,以便共享. 过程和函数均存储在数据库中,并通过参数与其调用者交换信息.过程和函数的唯一区别是函数总向调用者返回数据,而过程不返回数据. 1. 存储过程概念 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中.经过第一次编译后

oracle 学习笔记之PL/SQL程序设计

1.PL/SQL的定义: PL/SQL(Procedure Language/SQL) PLSQL是Oracle对sql语言的过程化扩展 指在SQL命令语言中增加了过程处理语句(如分支.循环等),使SQL语言具有过程处理能力. 把SQL语言的数据操纵能力与过程语言的数据处理能力结合起来,使得PLSQL面向过程但比过程语言简单.高效.灵活和实用. Plsql(oracle),Transact-sql(SQL server) 2.入门程序-->打印hello world; set serverout

数据库复习10——PL/SQL

数据库复习 CH10 PL/SQL 10.1 PL/SQL简介 PL/SQL是Oracle对SQL的过程化的扩展,PL/SQL可以实现SQL相关的过程化程序,并且能够以存储过程和函数的方式让一段SQL业务逻辑驻留在SQL服务器中,以便减少客户机计算任务并减少网络I/O 10.2 PL/SQL编程基础 (1)简介 PL/SQL编程框架为: DECLARE <Variable List> BEGIN <Extented SQL Execution> EXCEPTION <Exce

oracle数据库性能影响之Sql parse

1,Sql parse的种类 Sql parse又通常分为硬解析和软解析,当sql第一次执行的时候,会发生硬解析,之后的执行如果在shared pool中能找到就是软解析.因此,为提高数据性能,尽可能的让每次执行的SQL在shared pool找到. 2,SQL在哪些情况下会发送硬解析? 1)统计信息改变  2)Sql中的表上有做ddl操作,包括grant和revoke. 3)执行计划被踢出shared pool 4)开启了trace 5)绑定变量长度变化 6)启用outlin

Oracle学习(十一):PL/SQL

1.知识点:可以对照下面的录屏进行阅读 PL/SQL程序结构 declare 说明部分 (变量说明,光标申明,例外说明 ] begin 语句序列 (DML语句]- exception 例外处理语句 End; / ------------------------------------------------------------------ --第一个PL/SQL程序:HelloWorld set serveroutput on --如果要在屏幕上输出信息,需要将serveroutput开关打

oracle执行多个pl/sql块

DECLARE    V_SQL_DROP_TABLE   VARCHAR2(50) := 'DROP TABLE MY_TEST2';    V_SQL_CREATE_TABLE VARCHAR2(100) := 'CREATE TABLE MY_TEST2(NOT_NULL VARCHAR2(20) NOT NULL, ONLY_INT INTEGER)';  BEGIN    EXECUTE IMMEDIATE V_SQL_CREATE_TABLE; -- 创建测试表  EXCEPTION

oracle初体验四 PL/SQL Developer 不安装客户端连接远程oracle数据库

PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发.如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分.PL/SQL Developer侧重于易用性.代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势. 下载敏捷客户端 http://eduunix.ccut.edu.cn/index2/database/Oracle%20Instant%20Client/

本机不安装Oracle客户端,使用PL/SQL Developer和 Instant Client 工具包连接oracle 11g远程数据库

一.先到Oracle网站下载Instant Client 下载地址:http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html 根据你的操作系统选择不同的Instant Client版本.这里下载的是:instantclient-basic-win-x86-64-11.2.0.1.0. 下载后是一个压缩文件,解压之后放在你喜欢的目录即可.如下: 二.配置 Instant C

不安装oracle客户端也可以使用pl/sql developer

通常情况下,用PL/SQL Developer连接Oracle是需要安装Oracle客户端软件的,这也就意味着你的硬盘将被占用大约1G-2G的空间,对于Windows操作系统来说,你还会多出一些开机自启动的服务.当然对于大部分人来说,并不会在自己的机器上应用所创建的数据库,而只是希望通过他的一些配置来连接访问服务器上的数据库. 其实Oracle为我们提供了轻便的工具Oracle Instantclient package,也有人称他为“Oracle即时客户端”.使用此工具,我们就可以在不安装Or