赞
踩
- create or replace function insert_user_roles()
- returns void as $$
- declare
- user RECORD;
- role RECORD;
- begin
- for user in (select id from user where is_delete = false) loop
- for role in (select * from role where is_delete = false) loop
- insert into '实际要插入数据的表' ('字段')
- values
- (user.id, role.id);
- end loop;
- end loop;
- end;
- $$ language plpgsql;
-
- select insert_user_roles();;

业务需求是为已经在使用的用户初始化数据(模拟需求),学习语法就行,业务代码可以忽略掉。
loop关键字不能忽略,且要跟for循环对应上
声明的变量需要使用declare
begin end要对应上
因为我这个业务场景是不需要返回值的,如果需要有返回值的可以去参考pgsql文档也不是很难
查询*
完全就是为了方便,实际业务操作建议不要这么操作
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。