需要给用户表的每个用户 id 都插入一行数据,大量的用户 id 一个个加是不可能的了
于是就得用存储过程来完成了,下面附上存储过程语句和注释
--新建存储过程并命名CREATE PROCEDURE "INSERT_CODE4USERID" is --游标,从tb_user表取出所有usertype=12的用户id cursor user_id is select USERID from tb_user where usertype = 12; r_userid tb_user.user_id%type;BEGIN --打开游标 open user_id; LOOP --遍历商户id <> --循环遍历结果集 id 直到为空时退出循环 fetch user_id into r_userid; EXIT WHEN r_userid%NOTFOUND; --执行需要插入的语句 insert into UserPR values (r_userid,'test'); goto loop_block; END LOOP;END;
建议不要在存储过程中commit,在执行完存储过程,检查下无误后再手动commit会比较保险。
call INSERT_CODE4USERID();
commit;