SQL循环插入记录

 前言,面试的时候有人让我写一个向sql server数据库中循环插入1000条记录。因为我平时接触oracle比较多。就用oracle语句写了。结果面试官看了下说。oracle我也不懂。大体应该差不多。现在我把oracle和sql的循环插入语句都写出来。以免以后又忘记。

(1)sql下代码:

  1. //声明变量;
  2. DECLARE @i int
  3. DECLARE @name varchar(10)
  4. DECLARE @password varchar(10)
  5. Set @i = 1000
  6. //开始循环插入数据;
  7. WHILE @i < 1000
  8. BEGIN
  9. Set @i =@i +1
  10. SET @name = RIGHT('00000' + CAST(@i AS varchar(10)),5) 
  11. set @password = @name
  12. insert into admin values(@name,@password)
  13. END

 

(2)oracle下代码:

  1. (1)先理论
  2. declare 
  3.   i number;
  4. begin
  5. i := 1;
  6. while i<=100 loop
  7.       dbms_output.put_line(i);
  8.       i := i+1;
  9. end loop;
  10. end;
  11. (2)实践
  12. declare
  13.   year varchar2(4):='2008';
  14.   month number(2):=1;
  15.   schoolid number(10):=14640;
  16. begin
  17.   loop  
  18.     loop
  19.       insert into xx_jb1
  20.         (ID,
  21.          XXID,
  22.          GLBMJY,
  23.          XXXZGB,
  24.          XXLS,
  25.          HJXX,
  26.          HJXS,
  27.          LX_TZH_XX,
  28.          LX_TZH_XS,
  29.          BGNF,
  30.          BGYF,
  31.          STATE,
  32.          SSRQ,
  33.          TJRQ,
  34.          TBR)
  35.       values
  36.         (seq_xx_jb1.nextval,
  37.          schoolid,
  38.          1,
  39.          1,
  40.          2,
  41.          1,
  42.          248,
  43.          1,
  44.          248,
  45.          year,
  46.          month,
  47.          '已通过',
  48.          sysdate,
  49.          sysdate,
  50.          '管理员');
  51.        month := month+1;
  52.        exit when month>12;
  53.      end loop;
  54.      month := month-12;
  55.      schoolid := schoolid+1;
  56.      exit when  schoolid>15040;
  57.   end loop;
  58. end;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值