プロシージャ引数のデフォルト値指定

(8.0.22)

★デフォルト値は指定できない

 

(19c)

set serveroutput on
create or replace procedure proc1(param1 in number default 100)
as
begin
for i in 1..param1 loop
dbms_output.put_line(i);
end loop;
end;
/
show error;

exec proc1;
exec proc1(10);

(13)

create or replace procedure proc1(param1 in int default 100)
language plpgsql
as $$
declare
begin
for i in 1..param1 loop
raise info '%', i;
end loop;
end;
$$;

call proc1();
call proc1(10);

(2019)

create or alter procedure proc1(@param1 int = 100)
as
begin
set nocount on;
declare @i int;
set @i = 1;
while (@i <= @param1)
begin
print @i
set @i = @i + 1;
end
end
go


exec proc1;
exec proc1 10;