http://wfly2004.blog.163.com/blog/static/117642720105441154399/
oracle同sql server的procedure是不一样的。
在sql server下述语句完全正确。
create procedure usp_test
as
begin
select * from tablename
end;
但在oracle是运行不了的。在oracle的precedure要么使用cursor返回单个值(含单条记录),要么就使用ref cursor返回记录集。
create or replace usp_test(cv_results in out sys_refcursor)
is
begin
open cv_results for select * from tablename;
end;
在sqlplus调用:
VARIABLE X REFCURSOR
EXEC authors_sel(:x)
print x
本文探讨了Oracle与SQL Server中存储过程的不同实现方式。在SQL Server中可以直接使用存储过程选择表中的所有数据,而在Oracle中则需要通过RefCursor返回记录集。文章通过具体的示例代码展示了这两种不同数据库系统的存储过程创建及调用方法。
1899

被折叠的 条评论
为什么被折叠?



