变量

标识符定义

PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同。要求和限制有:

()不能超过个字符。

()首字符必须为字母。

()不区分大小写。

()不能使用SQL保留字。

()对标识符的命名最好遵循实际项目中相关命名规范

声明语法

  1. PL/SQL中出现的变量在DECLARE部分定义,
  2. 语法如下:变量名[CONSTANT] 数据类型[NOT NULL][ := | DEFAULT  PL/SQL表达式]
  3. 常量:[CONSTANT]必须初始化

数据类型


PL/SQL
出现的所有变量和常量都需要指定一个数据类型。下面介绍一些常用的数据类型,有标量类型、参考类型、
LOB
类型和用户自定义
类型

标量类型

①数值型

NUMBER [(precision, scale)]:可存储整数或实数值

②字符型

CHAR[(maximum_length)] :描述定长的字符串,如果实际值不够定义的长度,系统将以空格填充。在PL/SQL中最大长度的是,长度缺省值为。

③日期型

常用的日期类型为DATE。日期默认格式为DD-MON-YY,分别对应日、月、年。

④布尔型

存储逻辑值TRUE或FALSE

()参考类型

参考类型分为两种,%TYPE和%ROWTYPE。

①%TYPE类型

定义一个变量,其数据类型可以与已经定义的某个数据变量的类型相同,或者与数据库表的某个列的数据类型相同,这时可以使用%TYPE。

②%ROWTYPE类型

定义一个变量的类型参照自基本表或视图中记录的类型、或游标的结构类型,这时可以使用%ROWTYPE

语法变量赋值

常量

PL/SQL
程序中可以通过两种方式给变量赋值

()直接赋值

变量名
:=
常量或表达式
;

例如:
v_num  NUMBER:=3;

()通过SELECT..INTO赋值

SELECT 
字段
INTO 
变量名

例如:
SELECTsname,age INTO v_sname, v_age
 
FROM   student

WHERE sno=‘20120001’;


任务

-编写一个PL/SQL程序,输出学号为的学生姓名和出生年份。
DECLARE
v_sname student.sname%TYPE;
v_birth NUMBER;
BEGIN
SELECT sname,2012-age into v_sname,v_birth
FROM student WHERE sno='20120006';
DBMS_OUTPUT.PUT_LINE('学号为2012006的姓名:'||v_sname||' 出生年月:'||v_birth);
END;

PL/SQL(二):变量的更多相关文章

  1. PL/SQL之--变量

    一.PL/SQL 简介 PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL).PL/SQL是oracle对sql语句的一种扩展,在普通SQL语句的使用上 ...

  2. PL/SQL编程—变量

    SQL> declare c_tax_rate ,):=0.03; v_name ); v_passwd ); v_sale ,); v_tax_sale ,); begin select na ...

  3. 基于oracle 的PL/SQL编程 -变量使用

    1. 需要开启的服务:  本机安装的oracle ,默认是开机启动服务的,开机时间太慢,关闭了,需要手动打开: OracleDBConsoleorcl OracleOraDb10g_home1iSQL ...

  4. pl/sql 关于变量定义的问题

    1. create or replace procedure  test_prc(p_data_dt in date) IS e_name emp.ename%type;      begin sel ...

  5. PL/SQL编程--变量声明及赋值

    declare v_price ,);--单价 v_usenum number;--水费字数 v_usenum2 number;--使用吨数 begin v_price:=2.45;--每吨单价 v_ ...

  6. 二十四、oracle pl/sql 变量

    一.变量介绍在编写pl/sql程序时,可以定义变量和常量:在pl/sql程序中包括有:1).标量类型(scalar)2).复合类型(composite) --用于操作单条记录3).参照类型(refer ...

  7. [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

    原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日 ...

  8. oracle pl/sql 变量

    一.变量介绍在编写pl/sql程序时,可以定义变量和常量:在pl/sql程序中包括有:1).标量类型(scalar)2).复合类型(composite) --用于操作单条记录3).参照类型(refer ...

  9. Oracle PL/SQL编程之变量

    注: 以下测试案例所用的表均来自与scott方案,使用前,请确保该用户解锁. 1.简介 和大多数编程语言一样,在编写PL/SQL程序时,可以定义常量和变量,在pl/sql程序中包括有: a.标量类型( ...

随机推荐

  1. SqlServer和Oracle中一些常用的sql语句10 特殊应用

    --482, ORACLE / SQL SERVER --订购数量超过平均值的书籍 WITH Orders_Book AS ( SELECT Book_Name, SUM(Qty) Book_Qty ...

  2. 打印NSLog分类 Foundation+Log.m

    #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @implementation UIView(Log) + ...

  3. [Swust OJ 191]--迷宫逃离(打表搜索)

      题目链接:http://acm.swust.edu.cn/problem/191/ Time limit(ms): 1000 Memory limit(kb): 65535   江鸟突然想到了一个 ...

  4. BZOJ 1833: [ZJOI2010]count 数字计数( dp )

    dp(i, j, k)表示共i位, 最高位是j, 数字k出现次数. 预处理出来. 差分答案, 对于0~x的答案, 从低位到高位进行讨论 -------------------------------- ...

  5. iOS8的屏幕旋转的问题

    判断横竖屏.http://www.cocoachina.com/ask/questions/show/121301 //self.cameraView是相机view - (NSUInteger)sup ...

  6. 为什么希捷选择了8GB作为标准的闪存容量呢?答案就在下面(新的驱动器可以实现一定程度上的写入缓存)

    与前两代Momentus XT产品不同,希捷称第三代混合硬盘所使用的技术更接近真正的SSHD(Solid State Hybrid Disk?),而不是HHD.也就是说更偏向于固态硬盘.首先它不会属于 ...

  7. Python 内置函数 range的使用

    内置range函数可以用来方便的产生等差的数值序列.如: >>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, ...

  8. c语言memset详解

    void *memset(void *s, int ch, size_t n);(int ch可以是char或int) 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的 ...

  9. JAVA爬虫 WebCollector

    JAVA爬虫 WebCollector 爬虫简介: WebCollector是一个无须配置.便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫. 爬虫 ...

  10. 基于visual Studio2013解决C语言竞赛题之0603打印素数

     题目