2.变量 简单变量:单值变量 变量名 变量类型[:=初始值]; 复合变量:先定义复合类型,然后再用来复合变量; 表类型: TYPE 类型名 IS TABLE OF 数据类型 INDEX BY BINARY_INTEGER; 变量名 表类型名; 记录类型:TYPE 类型名 IS RECORD(变量名 类型, 变量名 类型...); 声明变量的类型与指定表的指定列同类型: 变量名 表名.列名%TYPE; 声明记录类型变量的类型与指定表的行同类型: 变量名 表名%ROWTYPE;
3.条件语句 IF 条件 THEN 语句; ELSIF 条件2 THEN 语句2; ELSIF 条件2 THEN 语句2; ELSE 语句n; END IF;
4.循环语句 1) 简单: LOOP 语句 EXIT WHEN 条件; END LOOP;
2) WHILE: WHILE 条件 LOOP 语句 END LOOP;
3) FOR FOR 数字变量 IN [REVERSE] 下限..上限 LOOP 语句 END LOOP;
5. 游标cursor:它是Oracle数据库内的一个工作区,存放了SELECT语句的查询集。 1) 它有一个指针,初始时指向查询集中的首行。 2) 属性:%found、%notfound、%rowcount、%isopen、 3) 使用步骤: a) 声明变量用来保存数据。 b) 声明游标,并指定查询。cursor v_emp_cursor is select语句; c) 打开游标。open v_emp_cursor; d) 一次从游标中获取一行记录。fetch v_emp_cursor into 变量列表; e) 关闭游标。close v_emp_cursor; 4) for循环可以自动完成打开,获取数据,关闭的功能。 declare v_emp_record emp%rowtype; cursor v_emp_cursor is select语句 [for update]; begin for v_emp_record in v_emp_cursor loop v_emp_record.ename; -- 获取游标所有在位置行 update ... where current of v_emp_cursor; end loop; end; /