Oracle 过程中定义了in|out|in out3中参数模式,每个参数可以选择其一 in 是参数的默认模式,这种模式就是在程序运行的时候已经具有值,在程序体中值不会改变。 举个例子 create or replace procedure update_price( p_product_id in NUMBER, p_factor in NUMBER) AS ..... 你在引用这个过程的时候给参数传入值 exexute update_price(2,2.5); 这是定义的2个参数就得到了值,in模式下值不能变 out模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程 in out 表示高参数可以向该过程中传递值,也可以将某个值传出去
create or replace procedure gettest2(stdname in varchar2,p_cursor in out types.mytype) as begin open p_cursor for select * from test where name=stdname; end; 例如上面的存储过程 stdname是in参数,传进去供查询语句使用 p_cursor是 out参数,返回查询的结果集