Oracle之PL/SQL编程_数据类型与定义变量和常量

-----------------------------------基本数据类型-----------------------------------

1.数值类型

NUMBER(P,S)

参数 P 表示精度,参数 S 表示刻度范围。

精度是指数值中所有有效数字的个数,而刻度范围是指小数点右边小数位的个数。

“子类型” 是与 NUMBER 等价的类型别名。

子类型:DEC、DECIMAL、DOUBLE、INTEGER、INT、NUMERIC、SMALLINT、BINARY_INTEGER、PLS_INTEGER

2.字符类型

字符类型:VARCHAR2、CHAR、LONG、NCHAR、NVARCHAR2

这些类型的变量 用来存储字符串或字符数据。

VARCHAR2(maxlength)

参数 maxlength 表示可以存储字符串的最大长度,这参数值在定义变量时必须给出(因为 VARCHAR2 类型没有默认的最大长度),

参数 maxlength 的最大值可以是 32767 字节。

CHAR(maxlength)

参数 maxlength 的最大值可以是 32767 字节.

CHAR 类型默认最大长度为 1 字节。如果赋给 CHAR 类型变量的值不足 maxlength,则在其后边用 空格 补全。

3.日期类型

DATE

4.布尔类型

BOOLEAN

其变量值可以为 TRUE、FALSE、NULL 中的一种。

-----------------------------------特殊数据类型-----------------------------------

1. %TYPE 类型

使用 %TYPE 关键字可以声明一个与 指定列名称相同的数据类型,它通常紧跟在指定列的后边。

例:

声明一个与 emp 表中 job 列的数据类型完全相同的变量 var_job

declare

var_job emp.job%TYPE;

2. RECORD 类型,也叫“记录类型”

type record_type is record

(

var_member1 data_type [not null][:=default_value],

...

var_membern data_type [not null][:=default_value])

record_type:表示要定义的记录类型名称。

var_member1:表示该记录类型的成员变量名称。

data_type:表示成员变量的数据类型。

例:

声明一个记录类型 emp_type,然后使用该类型的变量存储 emp 表中的一条记录信息,并输出这条记录。

declare

type emp_type is record --声明 record 类型 emp_type

(

var_ename varchar2(20), --定义字段/成员变量

var_job varchar2(20),

var_sal number

);

empinfo emp_type; --定义变量

begin

select ename,job,sal

into empinfo

from emp

where empno=7369;

/*输出雇员信息*/

dbms_output.put_line(‘雇员‘||empinfo.var_ename||‘的职务是‘||empinfo.var_job||‘、工资是‘||empinfo.var_sal);

end;

/

输出结果:

雇员SMITH的职务是CLERK、工资是2712.5

3. %ROWTYPE 类型

%ROWTYPE 类型的变量结合了 %TYPE 类型和 RECORD 类型变量的优点,它可以根据数据表中行的结构定义一种

特殊的数据类型,用来存储从数据表中检索到的一行数据。

rowVar_name table_name%rowtype;

rowVar_name:表示可以存储一行数据的变量名。

table_name:指定的表名。

例:

声明一个 %ROWTYPE 类型的变量 rowVar_emp,然后使用该变量存储 emp 表中的一行数据,并输出。

declare

rowVar_emp emp%rowtype; --定义能够存储 emp 表一行数据的变量

begin

select *

into rowVar_emp

from emp

where empno=7369;

/*输出雇员信息*/

dbms_output.put_line(‘雇员‘||rowVar_emp.var_ename||‘的职务是‘||rowVar_emp.var_job||‘、工资是‘||rowVar_emp.var_sal);

end;

/

输出结果:

雇员SMITH的职务是CLERK、工资是2712.5

-----------------------------------定义变量和常量-----------------------------------

1. 定义变量

<变量名> <数据类型> [(长度):=<初始值>];

例:

var_countryname varchar2(50):=‘中国‘;

2. 定义常量

<常量名> constant <数据类型>:=<常量值>;

例:

con_day constant integer:=365;

时间: 2024-10-28 14:25:37

Oracle之PL/SQL编程_数据类型与定义变量和常量的相关文章

Oracle之PL/SQL编程_流程控制语句

选择语句 1. if...then 语句 语法: if < condition_expression > then plsql_sentence end if; condition_expression:表示一个条件表达式,其值为 true 时,程序会执行 if 下面的 PL/SQL 语句: 如果其值为 false,则程序会跳过if 下面的语句而 直接执行 end if 后边的语句. plsql_sentence:condition_expression 为 true 时,要执行的语句. 2.

PL/SQL编程_概述

关于PL/SQL的内容,主要包括匿名块.存储过程和存储函数三种形式的PL/SQL块,以及在PL/SQL 中如何使用变量.类型.流控制语句.游标.触发器.异常等内容,以及如何利用PL/SQL块访问数据库中的数据. PL/SQL概述 如果说SQL是一种标准的数据库访问语言,那么PL/SQL则是Oracle公司开发的一种编程语言,它是对SQL的扩充.在PL/SQL程序中,可以定义变量.数据类型.函数以及过程,可以使用流控制语句,可以包含SQL语句,还可以进行错误处理.利用PL/SQL程序,可以对数据库

PL/SQL编程_变量

在PL/SQL块中可以定义变量和数据类型,这使得PL/SQL块对数据的处理更加灵活. 变量和类型的定义放在PL/SQL块的变量声明部分. 变量的定义与使用 变量的定义有两种格式,分别为:变量名 类型 [约束][DEFAULT 默认值]变量名 类型[约束][:=初始值]其中用方括号限定的部分是可选的. 约束用来规定变量必须满足的条件,比如“ NOTNULL”约束指定变量不能为空值,这样在定义变量的时候就要为其指定初始值或默认值.变量名要遵守一定的命名规则. 变量名必须以字母开头,包含数字.字母.下

PL/SQL编程_子程序设计

利用PL/SQL可以进行模块化程序设计. 在一个PL/SQL块中,可以定义若干个子程序. 把一些功能相对独立.需要经常执行的代码定义为一个子程序,在需要时根据子程序的名字进行调用.这样不仅便于程序设计和编码,而且利于程序的调试.PL/SQL有两种形式的子程序,即过程和函数. 在子程序中也可以定义变量.类型.游标等,也可以进行异常处理.在调用于程序时,可以向子程序传递参数. 过程与函数的区别在于函数具有返回值,可以向调用者返回执行结果,而过程没有返回值. 如何使用过程 子程序的定义出现在PL/SQ

基于oracle 的PL/SQL编程

1. 需要开启的服务:  本机安装的oracle ,默认是开机启动服务的,开机时间太慢,关闭了,需要手动打开: OracleDBConsoleorcl OracleOraDb10g_home1iSQL*Plus OracleOraDb10g_home1TNSListener OracleServiceORCL   这个后面的ORCL就是数据库名字,官方术语叫做数据库sid 2.打开PL/SQL工具,用户名scott 登陆sid为ORCL的数据库, 密码 tiger 3.打开一个测试窗口,如下 1

基于oracle 的PL/SQL编程-1

本机安装的oracle ,默认是开机启动服务的,开机时间太慢,关闭了,需要打开的服务: OracleDBConsoleorcl OracleOraDb10g_home1iSQL*Plus OracleOraDb10g_home1TNSListener OracleServiceORCL   这个后面的ORCL就是数据库名字,官方术语叫做数据库sid 2.打开PL/SQL软件,用户名scott 登陆数据库 ORCL 密码 tiger 3.打开一个测试窗口,如下 1 -- Created on 20

Oracle之PL/SQL编程

PL/SQL(Procedural Language/SQL,过程语言/SQL) 是结合了Oracel过程语言和结构化查询语言(SQL)的一种扩展语言. 优点: (1)PL/SQL具有编程语言的特点,它能把一组SQL语句放到一个模块中,使其更具模块化种序的特点. (2)PL/SQL可以采用过程性语言控制程序的结构. (3)PL/SQL有自动处理的异常处理机制. (4)PL/SQL程序块具有更好的可移植性,可移植到另一个Oracle数据库中. (5)PL/SQL程序减少了网络的交互,有助于提高程序

PL/SQL编程_存储程序

在前面的部分介绍了PL/SQL块的基本编写方法. 在SQL*plus 中编写PL/SQL程序,并在SQL*plus 中执行它, PL/SQL块的代码就存放在SQL*plus的缓冲区中.如果在SQL*plus 中执行了其他的SQL语句或PL/SQL块,缓冲区中就会存放新的代码,原来的PL/SQL块就会被从缓冲区中清除出去.这种没有名称只是临时存放在缓冲区中的PL/SQL块叫做匿名块.匿名块就是没有名字的PL/SQL块,它仅存放在缓冲区中,只能在当前SQL*plus环境中执行.如果希望PL/SQL块

PL/SQL编程_游标

游标是一种私有的工作区,用于保存SQL语句的执行结果.在执行一条SQL语句时,数据库服务器会打开一个工作区,将SQL语句的执行结果保存在这里.在Oracle数据库中有两种形式的游标:隐式游标和显式游标.隐式游标是由数据库服务器定义的,显式游标是用户根据需要自己定义的. 隐式游标隐式游标是数据库服务器定义的一种游标.在执行一条DML语句或SELECT语句时,数据库服务器将自动打开一个隐式游标,存放该语句的执行结果.在一个PL/SQL块中可能有多条DML或SELECT语句,隐式游标始终存放最近一条语