什么是pl/sql: PL/SQL是 Procedure Language & Structured Query LanguProcedure的缩写 是一种过程处理语言 PL/SQL是 ORACLE系统的核心语言,ORACLE的许多部件都是由 PL/SQL编写的 PL/SQL的好处: PL/SQL在数据库服务器上运行,节约网络带宽,在数据库端运行效率更高
|| 字符串连接符 := 赋值运算符 % 属性索引 使用%type可以使变量获得与字段相同的数据类型,用于不知道给什么类型才合适的变量 = 相等运算符
PL/SQL 变量命名 : 由数字,字母,下划线,美元符号组成。字母开头。 变量分类:局部变量和全局变量。
变量的常见类型: varchar2 : 可变长字符串 int : 整数类型 number (precision,scale) :
precision表示数字中的有效位,如果没有指定precision的话,oracle将使用38作为精度;如果scale大于零,表示数字精度到小数点右边的位数;scale默认设置为0;如果scale小于零,oracle将把该数字取舍到小数点左边的指定位数。clob: 用于存储字符大块数据在数据库中 大小为 8 - 128 TB date : 日期和时间
代码如下(示例):
declare msg varchar(20); begin msg := 'Hello world ! '; dbms_output.put_line(msg); exception -- 单行注释 /* * 多行注释 ,这部分是异常处理模块,可有可无。 */ end;PL/SQL 中的条件控制语句:
注意: 每一次 if 结构结束都要用 end if; 这才表示 if 结束。
DECLARE a number(3) := 100; BEGIN IF ( a = 10 ) THEN dbms_output.put_line('Value of a is 10' ); ELSIF ( a = 20 ) THEN dbms_output.put_line('Value of a is 20' ); ELSIF ( a = 30 ) THEN dbms_output.put_line('Value of a is 30' ); ELSE dbms_output.put_line('None of the values is matching'); END IF; dbms_output.put_line('Exact value of a is: '|| a ); END;PL/SQL 中的循环控制语句: 示例
DECLARE x number := 10; BEGIN LOOP dbms_output.put_line(x); x := x + 10; IF x > 50 THEN exit; END IF; END LOOP; -- after exit, control resumes here dbms_output.put_line('After Exit x is: ' || x); END;