Oracle PL/SQL:在游标之前初始化变量值

Oracle PL/SQL:在游标之前初始化变量值,oracle,plsql,Oracle,Plsql,是否可以在游标声明之前初始化变量值 我的要求是将值传递给通过调用另一个函数获得的游标 Function SomeFunction(Param1, Param2) Is SomeParam := fn_findSomeParamValue(Param1,Param2); //This is giving compilation error Cursor C1 is select * from SomeTable where SomeColumn = SomeParam; 您可以这样做: Fu

是否可以在游标声明之前初始化变量值

我的要求是将值传递给通过调用另一个函数获得的游标

Function SomeFunction(Param1, Param2) Is

SomeParam := fn_findSomeParamValue(Param1,Param2); //This is giving compilation error

Cursor C1 is
select * from SomeTable where SomeColumn = SomeParam;
您可以这样做:

Function SomeFunction(Param1, Param2) Is

Cursor C1(someparam <datatype>) is
select * from SomeTable where SomeColumn = SomeParam;

someparam <datatype>;

begin

SomeParam := fn_findSomeParamValue(Param1,Param2); //This is giving compilation error

--Pass it as parameter to cursor
Open C1(someparam);

...
...
end;
函数SomeFunction(Param1,Param2)是
光标C1(someparam)为
从SomeTable中选择*,其中SomeColumn=SomeParam;
someparam;
开始
SomeParam:=fn_findSomeParamValue(Param1,Param2)//这是一个编译错误
--将其作为参数传递给游标
打开C1(someparam);
...
...
终止
它给出了什么编译错误?您是否声明了
SomeParam
变量?给我们看一个完整的例子,而不是几行随机的代码。