1、Boolean型变量可以用some_boolean =TRUE 进行判断,但不推荐;没有进行初始化赋值的Boolean变量值既不是TRUE,也不是FALSE;
在条件判断时用NVL()解决此种情况;
2、IF THEN ELSE END 中使用的AND为连接操作符conjoining,OR为包含操作符include;
3、FOR 循环可以用在numeric、cursor上,但REF CURSOR不支持;
4、FOR LOOP 结构
FOR i IN starting_number..ending_number LOOP
statement;
END LOOP;
5、事务相关
数据操控语言命令(Data Control Language Command)主要有三个:COMMIT,SAVEPOINT,ROLLBACK
Single Transaction Scope
参见下面的例子
BEGIN
SAVEPOINT new_member;
-- First insert.
INSERT INTO member VALUES
( member_s1.nextval, 1005,'D921-71998','4444-3333-3333-4444', 1006
, 2, SYSDATE, 2, SYSDATE);
-- Second insert.
INSERT INTO contact VALUES
( contact_s1.nextval, member_s1.currval + 1, 1003
,'Bodwin','Jordan',''
, 2, SYSDATE, 2, SYSDATE);
-- Print success message and commit records.
dbms_output.put_line('Both succeeded.');
COMMIT;
EXCEPTION
WHEN others THEN
-- Roll back to savepoint, and raise exception message.
ROLLBACK TO new_member;
dbms_output.put_line(SQLERRM);
END;
Multiple Transaction Scopes
只有如下类型的程序才能被设置为Multiple Transaction
Local, standalone, package subroutines—functions and procedures
Methods of the SQL object type
Database triggers
6、trigger的种类(5种)
trigger中不能使用DCL命令