PL/SQL(二):变量
2013-12-03 12:13
267 查看
变量
标识符定义
PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同。要求和限制有:
(1)不能超过30个字符。
(2)首字符必须为字母。
(3)不区分大小写。
(4)不能使用SQL保留字。
(5)对标识符的命名最好遵循实际项目中相关命名规范
声明语法
PL/SQL中出现的变量在DECLARE部分定义,语法如下:变量名[CONSTANT] 数据类型[NOT NULL][ := | DEFAULT PL/SQL表达式]
常量:[CONSTANT]必须初始化
数据类型
在
PL/SQL
出现的所有变量和常量都需要指定一个数据类型。下面介绍一些常用的数据类型,有标量类型、参考类型、
LOB
类型和用户自定义
类型
标量类型
①数值型
NUMBER [(precision, scale)]:可存储整数或实数值②字符型
CHAR[(maximum_length)] :描述定长的字符串,如果实际值不够定义的长度,系统将以空格填充。在PL/SQL中最大长度的是32767,长度缺省值为1。③日期型
常用的日期类型为DATE。日期默认格式为DD-MON-YY,分别对应日、月、年。④布尔型
存储逻辑值TRUE或FALSE(2)参考类型
参考类型分为两种,%TYPE和%ROWTYPE。①%TYPE类型
定义一个变量,其数据类型可以与已经定义的某个数据变量的类型相同,或者与数据库表的某个列的数据类型相同,这时可以使用%TYPE。②%ROWTYPE类型
定义一个变量的类型参照自基本表或视图中记录的类型、或游标的结构类型,这时可以使用%ROWTYPE语法变量赋值
常量在
PL/SQL
程序中可以通过两种方式给变量赋值
。
(1)直接赋值
变量名
:=
常量或表达式
;
例如:
v_num NUMBER:=3;
(2)通过SELECT..INTO赋值
SELECT
字段
INTO
变量名
例如:
SELECTsname,age INTO v_sname, v_age
FROM student
WHERE sno=‘20120001’;
任务3
-编写一个PL/SQL程序,输出学号为20120006的学生姓名和出生年份。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;
相关文章推荐
- [SqlException (0x80131904):用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败。]
- Oracle 存储过程 编译时卡死不动
- mongodb数据导入导出以及备份恢复
- 每日雕蟲一技[2013-12-03] how to change Sql2008 R2's collation
- 手把手教你mysql(十)索引
- mysql error 1366错误解决方法(基于mysql workbench)
- 數據已固定格式自動編號
- Sql Server 数据分页
- Mysql kill多个线程
- mysql免安装版配置步骤详解分享
- pl/sql programming 06 异常处理
- pl/sql programming 05 循环迭代处理
- mysql的1067错误 - 2
- sql server 单列并行 for xml path 应用
- mysql innerdb
- AIX操作oracle
- 解决maven官方库中没有oracle jdbc驱动的问题:Missing artifact com.oracle:ojdbc14:jar:10.2.0.1.0
- SQL 语句速查
- oracle安装时出错
- SQL 查询唯一数据/查询重复数据