知识大全 PL/SQL的几个概念区别
Posted 变量
篇首语:不操千曲而后晓声,观千剑而后识器。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 PL/SQL的几个概念区别相关的知识,希望对你有一定的参考价值。
PL/SQL的几个概念区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
char 和 varchar 的区别
varchar variable length 变长
char fixed length 固定长度
char定义的时候分配内存 而varchar 动态分配内存
下面一个例子明确的说明了这两个的区别
SQL> DECLARE
c CHAR( ) := ;
v VARCHAR ( ) := ;
BEGIN
dbms_output put_line( c is [ ||LENGTH(c)|| ] );
dbms_output put_line( v is [ ||LENGTH(v)|| ] );
v := v || ;
dbms_output put_line( v is [ ||LENGTH(v)|| ] ); END;
/
c is [ ]
v is [ ]
v is [ ]
PL/SQL 过程已成功完成
输出的结果显示 CHAR类型变量在定义的时候分配内存 分配的内存也可能超过变量定义的大小 VARCHAR 类型变量动态分配内存 根据设置的变量的大小
下面的例子也说明这一点
SQL> DECLARE
c CHAR( ) := ;
v VARCHAR ( ) := ;
var CHAR := ; Implicitly sized at byte
var CHAR( ) := ; Explicitly sized at byte
var CHAR( BYTE) := ; Explicitly sized at byte
var CHAR( CHAR) := ; Explicitly sized at character
BEGIN
dbms_output put_line( c is [ ||LENGTH(c)|| ] );
dbms_output put_line( v is [ ||LENGTH(v)|| ] );
dbms_output put_line( var is [ ||LENGTH(var )|| ] );
dbms_output put_line( var is [ ||LENGTH(var )|| ] );
dbms_output put_line( var is [ ||LENGTH(var )|| ] );
dbms_output put_line( var is [ ||LENGTH(var )|| ] );
v := v || ;
dbms_output put_line( v is [ ||LENGTH(v)|| ] ); END;
/
c is [ ]
v is [ ]
var is [ ]
var is [ ]
var is [ ]
var is [ ]
v is [ ]
character 和 char的区别
CHARACTER类型是CHAR的subtype CHARACTER类型和它的基类优相同的大小 在CHAR和CHARACTER数据类型之间隐式转换 以下是一个subtype的定义
SUBTYPE subtype_name IS base_type[(maximum_size [BYTE | CHAR])] [NOT NULL];
应用例子:
SQL> DECLARE
SUBTYPE code IS CHAR( CHAR);
c CHAR( CHAR) := A ;
d CODE;
BEGIN
d := c;
END;
/
cha138/Article/program/Oracle/201311/19059相关参考