这通常会在SQL Server Express中创建一个存储过程,但我不确定如何在Oracle 11g中重写它,因为它不带“@”符号。有人能为我转换这个吗?
create procedure search_expenses
@startdate as datetime,
@enddate as datetime
as
begin
select
amount, description, trxdate, bankaccountid
from
expense
where
trxdate between @startdate and @enddate;
end
go
答案 0 :(得分:0)
程序在Oracle中的工作方式不同。您无法直接选择将为您输出结果集。您需要选择REFCURSOR
,然后您的应用程序必须处理该光标。
其次,Oracle中的参数未使用@
指定。
以下是Oracle过程的示例
CREATE OR REPLACE PROCEDURE get_some_table(ref_cursor out sys_refcursor) is
begin
open ref_cursor for
select * from my_schema.some_table;
end get_some_table;