PL/SQL:
代码块:
DECLARE -optional
BEGIN -required
EXCEPTION -optional
END -required
若使用dbms_output输出时,先要设置 set serveroutput on; 显示输出。
有时候我们明明在用dbms_output.put() 函数输出值,但是并没有显示出来,就像丢失了一样。这可能是由于put()函数负责将括号中的数值输出,但是由于不知道一行输出几个,则存储在缓冲区中,我们需要在连续put()之后需要用dbms_output.new_line()将缓冲区的内容写在屏幕上。
pl/sql中for循环体中,
for i in 1..X(select * from emp) loop
end loop;
i不需要在declare中声明,这是一个独立的代码块,即使在外部声明了,for循环代码块中也是独立的一个。其可以自己适应不同的数据类型。
pl/sql中跳出循环可以用exit。跳出当前最近的一层循环。
取余函数为mod(m,n)----m%n。
pl/sql中varchar类型常量用单引号。
pl/sql中定义复合类型的语句为 type record_name is record
(
var_name1 datatype1,
var_name2 datatype2
);
或者隐式类型定义 %rowtype %type.
如 rtx emp.empno %type 定义rtx为表emp中empno的类型。
rtx emp%rowtype 定义rtx为emp表中所有列属性的复合类型。
pl/sql中我们可以直接用into来获取select语句中取出的属性值。
如select num,avgsal,job_title into rtx from XXX 注意这里取出的集合中存在多个元素则要使用相应长度的数组存储,否则会报错。
pl/sql中声明数组