PLSQL Language Referenc-PL/SQL控制语句-条件选择语句-IF THEN ELSE
条件THEN 语句 ;ENDIF DECLARE p NUMBER NUMBER NUMBER IS bonus ...
PLSQL Language Referenc-4PL/SQL控制语句-条件选择语句-IF THEN
PL/SQL控制语句 PL/SQL共有3种类型的控制语句: n 条件选择语句:IF, CASE n 循环语句:LOOP,FOR LOOP,WHILE LOOP。EXIT语句退出循环,CONTINUE语句退出当次循环,EXIT和CONTINUE有可选的WHEN语句用于指定条件。 n 顺序控制语句:GOTO,NULL 条件选择语句 IF语句的形式: ...
PLSQL Language Referenc-SQL数据类型-子类型与基类型具有相同的数据类型家族
子类型与基类型具有相同的数据类型家族 如果2个子类型在同一数据类型家族拥有不同的基类型,则一种子类型可以被隐式地转换为其它子类型,只有当源数据值不违背目标类型的约束。 SUBTYPEISCHAR6 SUBTYPEISVARCHAR215 verb...
PLSQL Language Reference-PL/SQL数据类型-SQL数据类型-有限制的子类型
0.1.1 有限制的子类型 有限制的子类型拥有它的基类型的值的子集。 如果基类型允许设置size、precision、scale、range,则可以将这些指定给子类型。 子类型IS {precision[,]|RANGE 最大值}[NOTNULL]--检测到超出范围的值DECLARE Balance (,); &...
PLSQL Language Reference-PL/SQL数据类型-SQL数据类型-用户定义的PL/SQL子类型
用户定义的PL/SQL子类型 PL/SQL允许定义自己的子类型,基类型可以是任何PL/SQL scalar类型,包含先定义的用户定义的子类型。 子类型可以: n 提供对ANSI/ISO类型的兼容 n 显示该种类型的数据成员的预期用途(problem) n 检测超范围的值 0.1.1 无限制的子类型 无限制的子类...
PLSQL Language Reference-SQL数据类型-PLS_INTEGER的子类型SIMPLE_INTEGER
PLS_INTEGER的子类型SIMPLE_INTEGER SIMPLE_INTEGER与PLS_INTEGER的最大的区别在于溢出语义。 如果确定一个变量不会赋空值,并且不需要进行溢出检查,则最好定义为SIMPLE_INTEGER。 (1)SIMPLE_INTEGER溢出语义 当且仅当表达式中的所有操作数都是SIMPLE_INTEGER类型时,PL/SQL使用2者的补运算且忽略溢出...
PLSQL Language Reference-BOOLEAN类型-预定义PLS_INTEGER子类型
预定义PLS_INTEGER子类型 NATURAL 非负PLS_INTEGER NATURALN 非负PLS_INTEGER,带有非空约束 POSITIVE 正PLS_INTEGER POSI...
PLSQL Language Reference-BOOLEAN类型-PLS_INTEGER和BINARY_INTEGER数据类型
BOOLEAN类型 因为SQL没有与BOOLEAN对应的数据类型,所以不能: n 将BOOLEAN值赋值给列 n 从数据表列获取值到BOOLEAN变量中 n 在SQL语句、SQL函数、或通过SQL对PL/SQL函数的调用中使用BOOLEAN。 不能将BOOLEAN值传递给DBMS_OUTPUT.PUT_LINE()和DBMS_OUTPUT.PUT()函数。只能使用IF或...
PLSQL Language Reference-PL/SQL数据类型-SQL数据类型-ROWID和UROWID变量
可以使用rowidtochar()将rowid变量的值转换为字符串;使用chartorowid()将ROWID变量转换为一个rowid;UROWID和ROWID之间的转换可以隐式进行。直接进行赋值即可。 注意:UROWID比ROWID更具有通用性,因为它兼容于逻辑和物理rowid。当更新使用Hybrid Columnar Compression (HCC)压缩的表中的行的时候,行的ROWID会改变...
PLSQL Language Reference-PL/SQL数据类型-SQL数据类型-LONG和LONG RAW变量
LONG和LONG RAW变量 这2种类型只是为了向前兼容。 代替LONG,可以使用VARCHAR2, BLOB, CLOB, NCLOB 代替LONG RAW 可以使用BLOB。 可以向LONG列插入LONG值;可以向LONG RAW列插入LONG RAW值;不能将从LONG 或LONG RAW列获取的超过32767字节的值到LONG或LONG RAW变量中;可以将CHAR或VARCHAR2插入到LONG列...
PLSQL Language Reference-PL/SQL数据类型-SQL数据类型-CHAR和VARCHAR2变量
0.1.1 CHAR和VARCHAR2变量 (1) 赋予和插入太长的值 ,超出了它的最大大小DECLARE c ( );BEGIN c ;END ,它的值超出了列的大小DROPTABLE;CREATETABLE(CHAR3CHAR DECLARE s ( ):='abc&...
PLSQL Language Reference-针对BINARY_FLOAT和BINARY_DOUBLE的额外PL/SQL子类型
针对BINARY_FLOAT和BINARY_DOUBLE的额外PL/SQL子类型 SIMPLE_FLOAT<-BINARY_FLOAT SIMPLE_DOUBLE<-BINARY_DOUBLE 每个子类型与它的基类型具有相同的范围,并所有NOT NULL约束。 如果确定变量不会被指定2种类型。因为没有检查空值的开销,所以有更好的性能。 PLSQL_CODE_TYPE='INTERPRETED'性能提升更大。...
PLSQL Language Reference-针对BINARY_FLOAT和BINARY_DOUBLE的额外PL/SQL常量
针对BINARY_FLOAT和BINARY_DOUBLE的额外PL/SQL常量 BINARY_FLOAT和BINARY_DOUBLE分别用于表示IEEE 754格式的单精度和双精度浮点数。 因为对BINARY_FLOAT和BINARY_DOUBLE的计算不会产生异常,所以需要自己来通过与预定义常量进行比较来检查它们产生的结果是否上下越界。 注释:带脚注的表明SQL也定义该...
PLSQL Language Reference-PL/SQL数据类型-SQL数据类型-不同的最值大小
PL/SQL数据类型 每个PL/SQL常量、变量、参数和函数的返回值都有一个数据类型,数据类型决定它的存储格式、有效值和操作。 一个scalar数据类型可以有它的子类型。子类型是其它数据类型的子集,其它数据类型是它的基类型。一个子类型与它的基类型有相同的有效操作。一个数据类型和它的子类型构成了数据类型家族。 ...
PLSQL Language Reference-PL/SQL语言基础-条件编译-条件编译指令限制
条件编译指令限制 条件编译指令不能出现在方案层次的用户自定义的类型的声明中。类型声明指定了类型的属性结构,这决定了依赖的类型的属性结构和依赖的表的列结构。 注意:oracle建议只使用alter type来改变类型的属性结构。 SQL解析器对PL/SQL单元中的第1个条件编译指令的位置有约束: n 在包规范...
PLSQL Language Reference-PL/SQL语言基础-条件编译-获取和打印编译后的源代码文本
获取和打印编译后的源代码文本 DBMS_PREPROCESSORPRINT_POST_PROCESSED_SOURCE 'PACKAGE' ,'MY_PKG');
PLSQL Language Reference-PL/SQL语言基础-条件编译-条件编译举例
条件编译举例 IF.THEN-- 选择指令开始 $ERROR 'END-- 错误指令 $ .( '||.||'.'|| DBMS_DB_VERSIONRELEASE...
PLSQL Language Reference-PL/SQL语言基础-表达式-PL/SQL表达式中的SQL函数
PL/SQL表达式中的SQL函数 在PL/SQL表达式中可以使用SQL函数,除了: n 聚合函数,例AVG,SUM n 分析函数,例LAG,RATIO_TO_REPORT n 数据挖掘函数,例CLUSTER_ID,FEATURE_VALUE n 编码和解码函数,例DECODE,DUMP n 模型函数,例ITERATION_NUMBER,PREVIOUS ...
PLSQL Language Reference-PL/SQL语言基础-表达式-BOOLEAN表达式
BOOLEAN表达式 返回结果为BOOLEAN值(TRUE、FALSE、NULL)的表达式。 下面也是BOOLEAN表达式: n NOT BOOLEAN表达式 n BOOLEAN表达式 关系操作符 BOOLEAN表达式 n BOOLEAN表达式 {AND | OR} BOOLEAN表达式 可以使用TRUE、...
PLSQL Language Reference-PL/SQL语言基础-表达式-比较操作符
比较操作符 比较的结果可以是TRUE、FALSE和NULL。 (1)关系操作符 n 算术比较 n BOOLEAN比较,TRUE > FALSE,与NULL的比较结果都为NULL。 n 字符比较,默认情况下按字符序比较,后面的大。 字符串是按字符比较。 如果设置初始化参数NLS_COMP=ANSI,则字符串的比...