在oracle数据开葛激握颟发中用的最多莫过于cursor了,许多的report都是要cursor来完芤晟踔肿成。cursor其实就是一个在内存中的临时table,可以有一个或者多个table的记录组成!
cursor一般先在declare中定义cursor cursor_name is select * from table1,table2 where table1.id=table2.id.下图是一种隐式打开和关闭cursor的写法。记得cursor打开之后要关闭的。
下图显式打开和关闭cursor的写法。我觉得显式的写法比较麻烦,而且还要手动的打开和闭关cursor,若一不小心就会不记得关闭cursor,给程序带来不安全的隐患,而且还要事先定义个cursor类型的变量。
cursor中保存了table的许多记录就可以用来写report都是非常的方便的。而且cursor中还可以嵌套cursor。下图下了两个cursor,c中嵌套c2,而且c2带参数的。
对于带参数的cursor在打开的时候一定要传参,不然会报错的。