
PostgreSQL 如何写一段简单的循环语句
比如,我要连接插入100条数据。借鉴其它sql的写法不能用纠正:是我要连续插入数据,类似declare@iintset@i=1while@i<30begininserti...
比如,我要连接插入100条数据。借鉴其它sql的写法不能用
纠正:是我要连续插入数据,类似
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end 展开
纠正:是我要连续插入数据,类似
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end 展开
展开全部
PostgreSQL中一般使用PL/PgSQL作为其编程语句,其语法与SQL Server / MySQL的有些不同。要实现这样的功能可以这样写(注意:分号不能少掉):
do $$
declare
v_idx integer := 1;
begin
while v_idx < 30 loop
insert into test (userid) values (v_idx); -- 执行插入
end loop;
end $$;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create or replace function aa1(a1 char(10),a2 bigint) returns
void AS $$
declare ii integer;
begin
II:=1;
FOR ii IN 1..a2 LOOP
insert into user1 values(ii,a1);
end loop;
end;
$$ LANGUAGE plpgsql;
select aa1('a123',10)
or
create or replace function aa2(a1 char(10),a2 bigint) returns SETOF user1 AS $$
declare ii integer;
begin
II:=1;
FOR ii IN 1..a2 LOOP
insert into user1 values(ii,a1);
end loop;
return query SELECT * FROM user1;
end;
$$ LANGUAGE plpgsql;
select * from aa2('a123',20)
void AS $$
declare ii integer;
begin
II:=1;
FOR ii IN 1..a2 LOOP
insert into user1 values(ii,a1);
end loop;
end;
$$ LANGUAGE plpgsql;
select aa1('a123',10)
or
create or replace function aa2(a1 char(10),a2 bigint) returns SETOF user1 AS $$
declare ii integer;
begin
II:=1;
FOR ii IN 1..a2 LOOP
insert into user1 values(ii,a1);
end loop;
return query SELECT * FROM user1;
end;
$$ LANGUAGE plpgsql;
select * from aa2('a123',20)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询