PL/Sql 编程

PL/Sql结构

[declare]

--声明变量

begin

--执行部分

[exception]

---异常处理部分

end

PL/Sql  基本数据类型

数值类型

      1、 number(p,s) 例如:number(9,2) 表示精度为9 ,小说点后两位的数。ps:既可以表示整形和浮点型。

字符类型:  2、pl/sql 中的varchar2 最大字节是32767字节。数据库中的varchar2(maxlength) 最大占4000多字节,如果超过4000,那么就要赋值给long型。

日期类型: date  占7 个字节。

布尔类型:boolean 包括三种true,false ,null。

PL/Sql 特殊类型

%TYPE

【%TYPE】 关键字声明了一个与指定类名称相同的数据类型,他通常紧跟在列名 的后面。

declare

Var_job  scott.emp.job%TYPE;--Var_job 的数据类型和列名job的数据类型是一样的。比如job是的数据类型是varchar2(20) ,那么Var_job也是varchar2(20).

%record

【%record】 使用该变量可以存储多个列组成的一行数据。在声明变量前应该定义记录类型,然后才可以声明记录类型变量。记录类型变量是y一种结构化的数据类型。

它使用type语法定义。

格式:

type  record_type is  record

      (

        var_member1 data_type [not null][:=default_value],--切记是逗号;

...

var_member2 data_type [not null][:=default_value]

)

%rowType

【%rowtype】 类型结合了%type和record类型的优点,可以根据数据的行结构定义一种特殊的数据类型。用来存储从数据表中检索的到一行数据。

row_var  table_name%rowtype;

PL/Sql 流控制语句

选择语句

if  ...then

格式:

  if <condition_expression> then

      sql_sentence

    end if;

<condition_expression> 为true时执行 sql_sentence语句。

表示逻辑运算时,and or not (且、或、非) ,表示为null时,if   var is  null then ...

if  then else


if  then ...

else if

else

end if;


case <sector>

when <expression_1> then plsql_sentence;

when <expression_2> then plsql_sentence;

...

end case;

<sector> 表示选择器,通常是一个变量。还记得sql语句中的case 。。。 when 。。。 then 。。。 else 。。。 end 吗?

PL/SQL 游标

游标提供了一种从表中检索数据并进行操作的灵活手段,游标主要用在服务器上,处理有客户端发给我服务器端的sql语句,或是批处理、存储过程、触发器中的数据请求。游标的作用就相当于指针。

PL/Sql异常处理

预定义异常

自定义异常

PL/SQL 基础编程的更多相关文章

  1. oracle PL/SQL基础编程

    PL/SQL(Procedural Language/SQL)是oracle中引入的一种过程化编程语言 PLS-00103:出现符号"declare"在需要下列之一时 符号&quo ...

  2. Oracle数据库—— PL/SQL基础编程

    一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs) ...

  3. PL/SQL存储过程编程

    PL/SQL存储过程编程 /**author huangchaobiao *Email:huangchaobiao111@163.com */ PL/SQL存储过程编程(上) 1. Oracle应用编 ...

  4. Oracle数据库之PL/SQL基础

    介绍PL/SQL之前,先介绍一个图像化工具:Oracle SQL Developer 在oracle的开发过程中, 我们难免会使用第三方开发的软件来辅助我们书写SQL, pl/sql是一个不错的sql ...

  5. Oracle实战笔记(第六天)之PL/SQL基础

    一.PL/SQL介绍 1.概念 PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL).PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL语 ...

  6. pl/sql基础知识—定义并使用变量

    n  介绍 在编写pl/sql程序是,可以定义变量和常量:在pl/sql程序中包括有: ①标量类型(scalar) ②复合类型(composite) ③参照类型(reference) ④lob(lar ...

  7. 初试PL/SQL并行编程

    -----------------------------Cryking原创------------------------------ -----------------------转载请注明出处, ...

  8. 二十、oracle pl/sql基础

    一.pl/sql developer开发工具pl/sql developer是用于开发pl/sql块的集成开发环境(ide),它是一个独立的产品,而不是oracle的一个附带品. 二.pl/sql介绍 ...

  9. oracle pl/sql 基础

    一.pl/sql developer开发工具pl/sql developer是用于开发pl/sql块的集成开发环境(ide),它是一个独立的产品,而不是oracle的一个附带品. 二.pl/sql介绍 ...

随机推荐

  1. delphi 编码速度提升技能

    效率,是一个永恒的主题. 本文重点强调 delphi ide 中的编码速度技能 一.TForm 窗口重用 当您在写一个管理类软件的时候,有大量的操作窗口,这些窗口会有大量共性.窗口重用就会发挥很大的作 ...

  2. STL中用erase()方法遍历删除元素

    STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector .deque):另一类是以不连续的节点形式存储的容器(如:list.set.map).在使用erase方法来删除元素时 ...

  3. HDU 5062 Beautiful Palindrome Number(数学)

    主题链接:http://acm.hdu.edu.cn/showproblem.php? pid=5062 Problem Description A positive integer x can re ...

  4. Phalcon 调试应用程序

    调试应用程序(Debugging Applications)¶ Phalcon中提供了提供了几种调试级别即通知,错误和异常. 异常类 Exception class 提供了发生错误时的一些经常使用的调 ...

  5. QT 声明全局变量

    声明 qdatabasemanager.h #include"qdatabasemanager.h" externQDatabaseManager*Database; 引用 mai ...

  6. Oracle的字符替换函数translate用法

    参考文档如下:http://www.banping.com/2009/05/18/oracle_function_translate/ Oracle提供了一个字符替换函数translate,不同于re ...

  7. As Easy As A+B

    Problem Description These days, I am thinking about a question, how can I get a problem as easy as A ...

  8. 小测试 php代理,nginx代理,直接访问对比

    #php proxy total sent request num: 507 total handle read times: 506 506 fetches, 2 max parallel, 2.7 ...

  9. day7_python学习笔记_chapter9_文件

    1. open(), file(), 作用完全相同 2. 语法: file_object = open(file_name, access_mode='r', buffering='-1') acce ...

  10. WPF:向客户端发出某一属性值已更改的通知INotifyPropertyChanged接口

    Person.cs using System.ComponentModel; namespace _01_INotifyPropertyChanged { class Person:INotifyPr ...