规则 5.4:在程序中要使用%type进行变量定义,以保持和表中字段类型的一致。
declare
str_l_variable1 t_tablename.column1%type;
…
begin
select column1
into str_l_variable1
from t_tablename
where column2 = value;
…
end;
规则 5.5:对于分页SQL,如果带有order by语句,要确保排序的唯一性。
--要确保order by后面排序的字段或字段组合唯一,因此我们可以追加表中的主键。
select b.column1, b.column2
from ( select rownum r, a.column1, a.column2
from ( select column1, column2
from t_tablename
order by downloads, pk_t_tablename desc
) a
where rownum <= putin_max_row
) b
where r >= putin_min_row;
规则 5.6:能使用静态SQL实现的逻辑,尽量避免使用动态SQL;如果必须使用动态SQL实现,要尽可能的绑定变量。