一:常量和变量
开始之前,还是照例做个经典的例子,如下:
declare mydate varchar2(16) := 'hellow world'; begindbms_output.put_line(mydate); end;
declare是声明部分
我在这个部分声明了varchar2类型的变量,名字叫mydata,内容是hellow world,长度是16个长度。
begin….end 部分是执行部分
我在这里调用了oracle已有的过程dbms_output.put_line,这个过程起到了打印的目的
执行完后就打印出了我刚才定义的变量。
注意PL/SQL与T-SQL一样是不区分大小写的
我是用pl/sql developer工具执行上述程序的(如果有必要以后介绍下oracle的安装,基本操作和相关工具)
下面贴两个图,看一下:
你可以通过使用constant关键字声明常量,如:
mydate constant varchar2(16) := 'hellow world';
二:数据类型(不全)
1:number(p,s) 声明数字
p表示精度,即:这个数字一共有几位,p取值1~38
s表示刻度,即:这个数字的小数点位于第几位(从右向左数),s取值-84~127
两个参数都是可选的,
刻度可以为负数,如:
mydate number(6,-2) := 123456;
此变量输出是为:123500。如你所见他被四舍五入了
另需注意:
mydate number(6,2) := 1234.123456;
如上,赋值的数字明显超过了精度,但是可以成功执行,得到的变量为
1234.12,精度为6。同样是四舍五入起的作用
不要试图这样做:
mydate number(6,2) := 123456.123456;
因为系统再怎么四舍五入都满足不了精度要求
2:char(n) 用于定义固定长度的字符串
n表示长度,n不应超过2000,是可选参数
如果你定义了n,但是存储的字符串长度比n小,那么系统会给你用空格补齐
3:varchar2(n) 用于定义可变长度的字符串
n是必须的,表示字符串的最大长度,取值范围1~32767
你定义了一个varchar2的数据,长度比n小,系统不会给你补空格!
4:boolean 定义逻辑变量
取值范围是true,false,null
5:date 定义日期数据
只包含日期,公元前4712到公元9999年,一般不会超过限制
占7个字节
6:timestamp(s) 还是日期型数据
存储年、月、日、时、分、秒、 上午、下午
s表示秒的小数位数,在0~9之间取值
7:LOB 存储文件
BLOG:主要用于存储图像文件
CLOB:主要用于存储文本文件
BFILE:主要用于声音、视频文件
所有文件不要超过4G