oracle的学习小总结及其与sqlserver小区别
最近在学Oracle,发现其和SQLSERVER有很大的不同,遂做个小记录
1,Oralce过程的定义里形参是不能定义长度的,而SQLSERVER是可以
2,Oracle过程里是不能用return返回值的,但SQLSERVER可以,如果需要
返回值,可以在过程里使用输出参数或者在函数里return返回值
3,在oralce里定义过程,可以直接定义为过程,也可以定义为包体里面
的过程,在sqlserver中没有和包对应的概念
4,在Oracle里使用分号;作为语句的结束符,sqlserver是不需要的
5,过程或着包体的结束方式有两种
create or replace scott.getdirectors
(
/* 略 */
)
AS
BEGIN
END ;/*这里也可以用END getdirectors ; 但注意是没有scott.的*/
6,如果需要在程序中获得Oracle记录集,需要使用输出参数ref cursor
ref cursor通常需要在包里定义,不能直接在过程里定义