ストアドプロシージャで、次のようにv_bar
ローカル変数を追加できます。
CREATE OR REPLACE PROCEDURE A_PROC (
foo VARCHAR2
)
AS
v_bar VARCHAR2(32);
BEGIN
SELECT FOO into v_bar WHERE ...;
END A_PROC ;
質問
以下の関数でv_bar
をどのように宣言する必要がありますか?
CREATE OR REPLACE FUNCTION A_FUNC(
foo VARCHAR2
) RETURN NUMBER AS total NUMBER;
BEGIN
-- Where to declare v_bar ?
v_bar := 'bla';
END A_FUNC;
まったく同じ;変わりはない。例えば:
create or replace function a_func (foo in varchar2)
return number
as
total number;
-- v_bar varchar2(32);
v_bar number; --> should match RETURN datatype
begin
select foo into v_bar from ...;
total := v_bar * 1000;
return v_bar;
end;