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
展开
 我来答
仁昌爱娱乐
高粉答主

2020-02-18 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459939

向TA提问 私信TA
展开全部

工具/材料:Management Studio。 

1、首先在桌面上,点击“Management Studio”图标。 

2、再者在该界面中,点击左上角“新建查询”选项。 

3、继续在该界面中,输入循环增加新数据sql语句“declare @i int set @i=1 while @i<100 begin insert into test1(no,name)values(@i,'用户名') set @i=@i+1 end”。 

4、再者在该界面中,点击左上方“执行”按钮。 

5、最后在该界面中,显示循环增加新数据成功。

Andy_Sun321
推荐于2017-10-03 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:747万
展开全部

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 $$;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
N_0_1
高粉答主

推荐于2017-10-01 · 关注我不会让你失望
知道大有可为答主
回答量:8628
采纳率:47%
帮助的人:888万
展开全部
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)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式