無名ブロック

(8.0.22)
drop procedure proc1;
delimiter //
create procedure proc1()
begin
declare i int;
set i = 1;

while i <= 10 do
select concat('i=',cast(i as char)) ;
set i = i+1;
end while;
end
//
delimiter ;

call proc1();


調べた限りサポートしていない模様

(19c)
set serveroutput on

create or replace procedure proc1 as
begin
for i in 1..10 loop
dbms_output.put_line('i=' || i);
end loop;
end;
/

exec proc1;

declare
begin
for i in 1..10 loop
dbms_output.put_line('i=' || i);
end loop;
end;
/


サポートしている

(13)

create or replace function fun1()
returns void as $$
declare
begin
for i in 1..10 loop
raise info 'i=%', i;
end loop;
end
$$
language 'plpgsql'
;

select fun1();


do $$
declare
begin
for i in 1..10 loop
raise info 'i=%', i;
end loop;
end
$$
;


サポートしている

(2019)

create procedure dbo.proc1
as
begin
declare @i int;
set @i = 1;
while (@i <= 10)
begin
print 'i=' + convert(varchar,@i)
set @i = @i + 1;
end
end

exec test.dbo.proc1

 

declare @i int;
set @i = 1;
while (@i <= 10)
begin
print 'i=' + convert(varchar,@i)
set @i = @i + 1;
end


サポートしている