`
cafard.cn
  • 浏览: 79758 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

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;
分享到:
评论

相关推荐

    sqlserver 循环临时表插入数据到另一张表

    sqlserver 循环临时表插入数据到另一张表 -- 声明变量 DECLARE @SupCode as varchar(100), @ProdCode as varchar(50), @PackLayer as varchar(50), @CodeStatus as varchar(50), @ProductId as varchar(50), @...

    Sqlserver大数据量插入速度慢或丢失数据的解决方法

    2. **索引更新**:每次插入新记录时,SQL Server都需要更新相关的索引,对于大量数据插入而言,这将显著降低性能。 3. **锁竞争**:并发插入时,锁竞争也会导致性能下降。 4. **资源限制**:系统资源(如CPU、内存)...

    sqlserver2008考勤插入指定时间段的随机记录存储过程

    考勤插入指定时间段的随机记录存储过程,时间段可修改

    用SQL删除重复记录的N种方法

    ### 方法五:使用游标和循环删除重复记录 这种方法适合于需要动态处理的情况,尤其是在SQL Server等支持游标的数据库系统中。 #### 示例代码: ```sql DECLARE @max INTEGER, @id INTEGER; DECLARE cur_rows ...

    SQL Server遍历表中记录的2种方法(使用表变量和游标)

    总结,遍历SQL Server表中的记录,可以采用表变量配合循环的方式,或者使用游标。表变量方法简洁且对数据的影响可控,但可能需要额外删除已处理的行。游标提供了逐行处理的灵活性,但效率较低,应作为最后的手段。在...

    sql 数据库使用游标 随机插入数据

    根据提供的文件信息,我们可以总结出以下SQL数据库使用游标及随机插入数据的相关知识点: ### SQL 游标的使用 #### 1. 游标定义 游标是数据库中的一个临时存储区域,它允许用户通过逐行的方式处理结果集中的数据。...

    使用存储过程实现循环插入100条记录

    本话题将详细讲解如何利用存储过程实现循环插入100条记录,这对于批量数据处理非常实用,特别是在MySQL数据库中。 首先,我们来看一下给出的示例代码: ```sql mysql&gt; delimiter $$ // 更改分隔符,避免与存储过程...

    处理SQL重复记录查询.

    本篇文章将探讨如何在SQL中查询和删除重复记录,主要关注基于单个字段和多个字段的情况。 首先,我们来看如何**查找表中的重复记录**。一个简单的方法是通过`GROUP BY`和`HAVING`子句来实现。例如,如果你有一个名...

    循环执行文件夹下的sql

    "循环执行文件夹下的sql"这个标题描述了一个实用的小工具,它的功能是在指定的文件夹中自动循环执行所有的SQL脚本,从而极大地提高了数据库管理员的工作效率。这个工具对于需要批量处理数据库更新、数据迁移或者测试...

    易语言SQLServer插入数据源码.zip

    本压缩包"易语言SQLServer插入数据源码.zip"包含了使用易语言与SQL Server数据库进行交互的源代码,主要涉及到的知识点有以下几个方面: 1. **易语言基础**:易语言的核心设计理念是“易学易用”,其语法简洁明了,...

    MySQL实现创建存储过程并循环添加记录的方法

    创建存储过程并循环添加记录是数据库管理中的常见任务,尤其是在需要批量插入数据时。以下将详细解释如何在MySQL中实现这一功能。 首先,我们需要了解存储过程的基本创建方法。在MySQL中,我们使用`CREATE ...

    SQLServer中防止并发插入重复数据的方法详解

    通过定义这些约束,数据库系统会在插入数据时自动检查重复,避免插入重复记录。 2. 插入时的条件查询 在插入数据时,可以利用条件查询来确保插入的数据不与现有数据冲突。例如,使用`INSERT INTO...SELECT`语句...

    使用sql语句查询的数据按时间递增累加

    执行上述SQL语句后,每条记录都将包含一个额外的 `ۼԤ` 字段,显示截至该时间点的累计预计值。例如,对于第一条记录,“2013-01-01”的累计预计值为300;对于第二条记录,“2013-02-01”的累计预计值为380(即300+...

    SQL语句参考及记录集对象详解

    3. 遍历记录集:使用`Do While Not rs.EOF`循环遍历记录集,访问每个字段的数据,如`rs.Fields("字段名")`。 4. 更新和关闭:完成操作后,使用`rs.Update`保存更改,`rs.Close`关闭记录集,`conn.Close`关闭数据库...

    SQLServer 批量插入数据的两种方法

    示例代码中,使用一个循环插入100万条数据,每次插入10万条。尽管使用了参数化以防止SQL注入,但由于每次插入都需要执行一次SQL命令,导致整体耗时较长。在示例中,仅插入10万条数据就花费了72390毫秒,效率明显不高...

    sql删除表中重复记录方法

    首先,使用`GROUP BY`和`COUNT(*)`找出重复记录,然后通过循环遍历这些记录,并根据字段类型(数字或字符串)构建不同的`DELETE`语句来移除多余的数据。这种方法的好处在于其灵活性,可以适应不同类型的字段和数据。...

    用sql从文件中读取数据并插入到表的特定列

    这一步骤使用了一个循环来逐一匹配并更新记录。 ```sql DECLARE @var INT; SET @var = 1; WHILE @var (SELECT MAX(ID) FROM #temp) BEGIN UPDATE t_cal SET m_code = (SELECT m_code FROM #temp WHERE ID = @var...

    当时自己初学SQL时,对游标很难理解,现在编写了一个实例游标循环,到时写SQL循环时方便些

    在循环体内,将每条记录的`AutoID`和修改过的`UserName`插入到临时表`#T1`中。 5. **关闭与释放游标**:循环结束后,使用`CLOSE cursor1`关闭游标,并使用`DEALLOCATE cursor1`释放游标资源。 6. **查看结果**:最后...

    U8 BOM全阶查询 sql

    一个产品的BOM记录了该产品由哪些零部件组成、每个零部件的数量等信息。 #### 二、全阶BOM查询背景与需求分析 在制造型企业中,经常需要查询某个产品的所有组成零部件,包括直接组成部分件以及间接组成部分件,即...

    SQL游标的使用详解

    在这个例子中,游标用于循环生成并插入100万条记录到`info`表中。 总的来说,SQL游标是数据库开发中不可或缺的一部分,它允许开发者以更灵活的方式处理和控制数据,尤其在需要逐行处理数据或执行条件判断的场景下。...

Global site tag (gtag.js) - Google Analytics