Plsql基础(数据类型,控制语句)
2011-10-28 16:14
423 查看
首先呢让我们来将最近讲到的Plsql中使用到的数据类型做一下汇总:
number(数字,数字) 数字类型可以替代语言中的 int long float double 参数可指定有效位数和保留小数位
boolean 布尔类型可以替代语言中的bool true false null
varchar2(长度) 字符串类型替代语言中的string char 参数可指定字符串的长度最大32767
binary_integer 数字类型 其取值范围和int一样 正负21亿左右
同样这个类型有几种子类型 一些是存正整数positive 一些存非负整数natural
data 日期类型
表名.字段%type 可以取出指定表中指定字段的数据类型
表名%rowtype 可以将表中一行的数据做为一个数据类型使用
定义方式为 变量名 类型
record类型:
type 变量名 is record(
变量1 类型1,
变量2 类型2......
);
非常类似C中的结构体 只是定义方法不太一样
table 类型:
type 变量名 is table of varchar2(长度);
type 变量名 is table of 任意一种上面基本类型
仔细一想 这其实名字叫做table类型 实际就是数组类型 而且这种数组类型下标是任意的
变量名(下标) 即使数组长度是10 或者没填 但这个下标 给200 并不会报错 因为下标是任意的
table类型中还有三个函数
tableType.first(); 获得最小下标
tableType.next(给出数组中的一个下标); 获得给出下标的下一个下标
tableType.last(); 获得最大下标
类型到此结束
*小知识: 在plsql中可以嵌套使用 匿名块 如果在两个块中出现相同的变量名 里层如果想使用全局变量的时候可以使用关键字. 的方式调用 到 outerf
控制语句:
IF
IF 条件1 THEN
执行语句....
ELSIF 条件2 THEN
执行语句....
ELSE
执行语句....
END IF;
LOOP:
LOOP
循环体....
退出条件1:
IF 退出条件 THEN
EXIT;
END IF;
退出条件2:
EXIT WHEN 退出条件 ;
循环体 可以执行一些循环的后绪操作
END LOOP;
WHILE:
WHILE 退出条件 LOOP
循环体.....
END LOOP;
FOR:
注意: 变量不需声明,变量自动维护++ 循环次数固定
FOR 变量 IN 范围起始1..10范围结束 LOOP
循环体......
END LOOP;
--------------------------------------------------循环结束-----------------------------------------------------
在plsql中也同样可以像C中使用goto关键字 但跳转的标签定义却和C中不相同 让我们来看一个使用goto实现循环的例子:
DECLARE
v_loop binary_integer:=1;
BEGIN
v_loop:=1;
<<go>>
if v_loop<=10
then
dbms_output.put_line('go'||v_loop);
v_loop:=v_loop+1;
goto go;
end if;
END;
number(数字,数字) 数字类型可以替代语言中的 int long float double 参数可指定有效位数和保留小数位
boolean 布尔类型可以替代语言中的bool true false null
varchar2(长度) 字符串类型替代语言中的string char 参数可指定字符串的长度最大32767
binary_integer 数字类型 其取值范围和int一样 正负21亿左右
同样这个类型有几种子类型 一些是存正整数positive 一些存非负整数natural
data 日期类型
表名.字段%type 可以取出指定表中指定字段的数据类型
表名%rowtype 可以将表中一行的数据做为一个数据类型使用
定义方式为 变量名 类型
record类型:
type 变量名 is record(
变量1 类型1,
变量2 类型2......
);
非常类似C中的结构体 只是定义方法不太一样
table 类型:
type 变量名 is table of varchar2(长度);
type 变量名 is table of 任意一种上面基本类型
仔细一想 这其实名字叫做table类型 实际就是数组类型 而且这种数组类型下标是任意的
变量名(下标) 即使数组长度是10 或者没填 但这个下标 给200 并不会报错 因为下标是任意的
table类型中还有三个函数
tableType.first(); 获得最小下标
tableType.next(给出数组中的一个下标); 获得给出下标的下一个下标
tableType.last(); 获得最大下标
类型到此结束
*小知识: 在plsql中可以嵌套使用 匿名块 如果在两个块中出现相同的变量名 里层如果想使用全局变量的时候可以使用关键字. 的方式调用 到 outerf
控制语句:
IF
IF 条件1 THEN
执行语句....
ELSIF 条件2 THEN
执行语句....
ELSE
执行语句....
END IF;
LOOP:
LOOP
循环体....
退出条件1:
IF 退出条件 THEN
EXIT;
END IF;
退出条件2:
EXIT WHEN 退出条件 ;
循环体 可以执行一些循环的后绪操作
END LOOP;
WHILE:
WHILE 退出条件 LOOP
循环体.....
END LOOP;
FOR:
注意: 变量不需声明,变量自动维护++ 循环次数固定
FOR 变量 IN 范围起始1..10范围结束 LOOP
循环体......
END LOOP;
--------------------------------------------------循环结束-----------------------------------------------------
在plsql中也同样可以像C中使用goto关键字 但跳转的标签定义却和C中不相同 让我们来看一个使用goto实现循环的例子:
DECLARE
v_loop binary_integer:=1;
BEGIN
v_loop:=1;
<<go>>
if v_loop<=10
then
dbms_output.put_line('go'||v_loop);
v_loop:=v_loop+1;
goto go;
end if;
END;
相关文章推荐
- 基础知识整理-数据类型和控制语句
- C语言基础整理2(运算符、数据类型、控制语句、循环语句、数组)
- Java基础知识(数据类型、标识符、变量、运算符和流程控制语句)
- Java基础--数据类型,运算符,程序控制语句
- Java基础知识(数据类型、标识符、变量、运算符和流程控制语句)
- 01_Java语言基础部分(数据类型与表达式、流程控制语句、数组与方法)
- JAVA基础初探(一)核心概念(JVM,JDK,JRE)、流程控制语句、基本数据类型、关键字、标识符、常量与变量、类型转换、Debug处理
- Java基础语法(一)---数据、数值类型、运算符、程序流程控制语句和循环结构
- Java基础知识(数据类型、标识符、变量、运算符和流程控制语句)
- 积少成多Flash ActionScript 3.0(1) - 基础之数据类型、操作符和流程控制语句
- java基础 三 引用数据类型,流程控制语句
- Python基础,基本类型(整型,浮点数等)数据结构(List,dic(Map),Set,Tuple),控制语句(if,for,while,continue or break):来自学习资料
- 黑马程序员_01_Java语言基础部分(数据类型与表达式、流程控制语句、数组与方法)
- 积少成多Flash ActionScript 3.0(1) - 基础之数据类型、操作符和流程控制语句
- java基础复习1(变量 数据类型 控制语句)
- 积少成多Flash(1) - ActionScript 3.0 基础之数据类型、操作符和流程控制语句
- 黑马程序员_Java基础_常用基础内容(进制转换、基本数据类型、运算符、流程控制语句等)
- Java语言基础(二)——数据类型、运算符和流程控制语句
- Java基础学习笔记(一)环境变量配置,数据类型,运算符,控制语句,循环语句
- 黑马程序员_Java基础_进制转换、基本数据类型、运算符、流程控制语句等