PL/SQL(二):变量
变量
标识符定义
PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同。要求和限制有:
()不能超过个字符。
()首字符必须为字母。
()不区分大小写。
()不能使用SQL保留字。
()对标识符的命名最好遵循实际项目中相关命名规范
声明语法
- PL/SQL中出现的变量在DECLARE部分定义,
- 语法如下:变量名[CONSTANT] 数据类型[NOT NULL][ := | DEFAULT PL/SQL表达式]
- 常量:[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 studentWHERE sno=‘20120001’;
任务
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(二):变量的更多相关文章
- PL/SQL之--变量
一.PL/SQL 简介 PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL).PL/SQL是oracle对sql语句的一种扩展,在普通SQL语句的使用上 ...
- PL/SQL编程—变量
SQL> declare c_tax_rate ,):=0.03; v_name ); v_passwd ); v_sale ,); v_tax_sale ,); begin select na ...
- 基于oracle 的PL/SQL编程 -变量使用
1. 需要开启的服务: 本机安装的oracle ,默认是开机启动服务的,开机时间太慢,关闭了,需要手动打开: OracleDBConsoleorcl OracleOraDb10g_home1iSQL ...
- pl/sql 关于变量定义的问题
1. create or replace procedure test_prc(p_data_dt in date) IS e_name emp.ename%type; begin sel ...
- PL/SQL编程--变量声明及赋值
declare v_price ,);--单价 v_usenum number;--水费字数 v_usenum2 number;--使用吨数 begin v_price:=2.45;--每吨单价 v_ ...
- 二十四、oracle pl/sql 变量
一.变量介绍在编写pl/sql程序时,可以定义变量和常量:在pl/sql程序中包括有:1).标量类型(scalar)2).复合类型(composite) --用于操作单条记录3).参照类型(refer ...
- [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)
原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日 ...
- oracle pl/sql 变量
一.变量介绍在编写pl/sql程序时,可以定义变量和常量:在pl/sql程序中包括有:1).标量类型(scalar)2).复合类型(composite) --用于操作单条记录3).参照类型(refer ...
- Oracle PL/SQL编程之变量
注: 以下测试案例所用的表均来自与scott方案,使用前,请确保该用户解锁. 1.简介 和大多数编程语言一样,在编写PL/SQL程序时,可以定义常量和变量,在pl/sql程序中包括有: a.标量类型( ...
随机推荐
- SqlServer和Oracle中一些常用的sql语句10 特殊应用
--482, ORACLE / SQL SERVER --订购数量超过平均值的书籍 WITH Orders_Book AS ( SELECT Book_Name, SUM(Qty) Book_Qty ...
- 打印NSLog分类 Foundation+Log.m
#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @implementation UIView(Log) + ...
- [Swust OJ 191]--迷宫逃离(打表搜索)
题目链接:http://acm.swust.edu.cn/problem/191/ Time limit(ms): 1000 Memory limit(kb): 65535 江鸟突然想到了一个 ...
- BZOJ 1833: [ZJOI2010]count 数字计数( dp )
dp(i, j, k)表示共i位, 最高位是j, 数字k出现次数. 预处理出来. 差分答案, 对于0~x的答案, 从低位到高位进行讨论 -------------------------------- ...
- iOS8的屏幕旋转的问题
判断横竖屏.http://www.cocoachina.com/ask/questions/show/121301 //self.cameraView是相机view - (NSUInteger)sup ...
- 为什么希捷选择了8GB作为标准的闪存容量呢?答案就在下面(新的驱动器可以实现一定程度上的写入缓存)
与前两代Momentus XT产品不同,希捷称第三代混合硬盘所使用的技术更接近真正的SSHD(Solid State Hybrid Disk?),而不是HHD.也就是说更偏向于固态硬盘.首先它不会属于 ...
- Python 内置函数 range的使用
内置range函数可以用来方便的产生等差的数值序列.如: >>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, ...
- c语言memset详解
void *memset(void *s, int ch, size_t n);(int ch可以是char或int) 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的 ...
- JAVA爬虫 WebCollector
JAVA爬虫 WebCollector 爬虫简介: WebCollector是一个无须配置.便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫. 爬虫 ...
- 基于visual Studio2013解决C语言竞赛题之0603打印素数
题目