求一个PostgreSQL的插入行的循环语句

周江涛 2014-03-17 11:04:08
现在有一个表
create table User(
id int,
name varchar(32)
)
我现在想在C语言里调用执行sql,传入变量起始id号startid,和数量num,能够完成这一段号码的插入
类似于下面的伪代码
for ....
{
insert into User(id)
values(i)
}
...全文
732 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
周江涛 2014-03-18
  • 打赏
  • 举报
回复
insert into UserTab(id) values(10000) 我先放一个数字在里面,再 create or replace function aa1(a1 char(10),a2 bigint) returns void AS $$ declare ii integer; begin II:=(select max(id) from UserTab); FOR ii IN 1..a2 LOOP insert into UserTab(id,name) values(ii+II,a1); end loop; end; $$ LANGUAGE plpgsql; select aa1('a123',10) 结果id值还是不对
周江涛 2014-03-18
  • 打赏
  • 举报
回复
insert into UserTab(id) values(10000) 我先放一个数字在里面,再
WWWWA 2014-03-18
  • 打赏
  • 举报
回复
II:=(select max(id) from UserTab);
周江涛 2014-03-18
  • 打赏
  • 举报
回复
II:=select max(id) from UserTab; 这样有语法错误
周江涛 2014-03-18
  • 打赏
  • 举报
回复
我希望先从user1 的记录里取一个id最大值赋值给ii,再循环,该如何写呢?
WWWWA 2014-03-18
  • 打赏
  • 举报
回复
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)
WWWWA 2014-03-18
  • 打赏
  • 举报
回复
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)
周江涛 2014-03-18
  • 打赏
  • 举报
回复
循环OK了,十分感谢

954

社区成员

发帖
与我相关
我的任务
社区描述
PostgreSQL相关内容讨论
sql数据库数据库架构 技术论坛(原bbs)
社区管理员
  • PostgreSQL社区
  • yang_z_1
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧