前言,面试的时候有人让我写一个向sql server数据库中循环插入1000条记录。因为我平时接触oracle比较多。就用oracle语句写了。结果面试官看了下说。oracle我也不懂。大体应该差不多。现在我把oracle和sql的循环插入语句都写出来。以免以后又忘记。
(1)sql下代码:
- //声明变量;
- DECLARE @i int
- DECLARE @name varchar(10)
- DECLARE @password varchar(10)
- Set @i = 1000
- //开始循环插入数据;
- WHILE @i < 1000
- BEGIN
- Set @i =@i +1
- SET @name = RIGHT(
- set @password = @name
- insert into admin values(@name,@password)
- END
(2)oracle下代码:
- (1)先理论
- declare
- i number;
- begin
- i := 1;
- while i<=100 loop
- dbms_output.put_line(i);
- i := i+1;
- end loop;
- end;
- (2)实践
- declare
- year varchar2(4):='2008';
- month number(2):=1;
- schoolid number(10):=14640;
- begin
- loop
- loop
- insert into xx_jb1
- (ID,
- XXID,
- GLBMJY,
- XXXZGB,
- XXLS,
- HJXX,
- HJXS,
- LX_TZH_XX,
- LX_TZH_XS,
- BGNF,
- BGYF,
- STATE,
- SSRQ,
- TJRQ,
- TBR)
- values
- (seq_xx_jb1.nextval,
- schoolid,
- 1,
- 1,
- 2,
- 1,
- 248,
- 1,
- 248,
- year,
- month,
- '已通过',
- sysdate,
- sysdate,
- '管理员');
- month := month+1;
- exit when month>12;
- end loop;
- month := month-12;
- schoolid := schoolid+1;
- exit when schoolid>15040;
- end loop;
- end;
分享到:
相关推荐
sqlserver 循环临时表插入数据到另一张表 -- 声明变量 DECLARE @SupCode as varchar(100), @ProdCode as varchar(50), @PackLayer as varchar(50), @CodeStatus as varchar(50), @ProductId as varchar(50), @...
2. **索引更新**:每次插入新记录时,SQL Server都需要更新相关的索引,对于大量数据插入而言,这将显著降低性能。 3. **锁竞争**:并发插入时,锁竞争也会导致性能下降。 4. **资源限制**:系统资源(如CPU、内存)...
考勤插入指定时间段的随机记录存储过程,时间段可修改
### 方法五:使用游标和循环删除重复记录 这种方法适合于需要动态处理的情况,尤其是在SQL Server等支持游标的数据库系统中。 #### 示例代码: ```sql DECLARE @max INTEGER, @id INTEGER; DECLARE cur_rows ...
总结,遍历SQL Server表中的记录,可以采用表变量配合循环的方式,或者使用游标。表变量方法简洁且对数据的影响可控,但可能需要额外删除已处理的行。游标提供了逐行处理的灵活性,但效率较低,应作为最后的手段。在...
根据提供的文件信息,我们可以总结出以下SQL数据库使用游标及随机插入数据的相关知识点: ### SQL 游标的使用 #### 1. 游标定义 游标是数据库中的一个临时存储区域,它允许用户通过逐行的方式处理结果集中的数据。...
本话题将详细讲解如何利用存储过程实现循环插入100条记录,这对于批量数据处理非常实用,特别是在MySQL数据库中。 首先,我们来看一下给出的示例代码: ```sql mysql> delimiter $$ // 更改分隔符,避免与存储过程...
本篇文章将探讨如何在SQL中查询和删除重复记录,主要关注基于单个字段和多个字段的情况。 首先,我们来看如何**查找表中的重复记录**。一个简单的方法是通过`GROUP BY`和`HAVING`子句来实现。例如,如果你有一个名...
"循环执行文件夹下的sql"这个标题描述了一个实用的小工具,它的功能是在指定的文件夹中自动循环执行所有的SQL脚本,从而极大地提高了数据库管理员的工作效率。这个工具对于需要批量处理数据库更新、数据迁移或者测试...
本压缩包"易语言SQLServer插入数据源码.zip"包含了使用易语言与SQL Server数据库进行交互的源代码,主要涉及到的知识点有以下几个方面: 1. **易语言基础**:易语言的核心设计理念是“易学易用”,其语法简洁明了,...
创建存储过程并循环添加记录是数据库管理中的常见任务,尤其是在需要批量插入数据时。以下将详细解释如何在MySQL中实现这一功能。 首先,我们需要了解存储过程的基本创建方法。在MySQL中,我们使用`CREATE ...
通过定义这些约束,数据库系统会在插入数据时自动检查重复,避免插入重复记录。 2. 插入时的条件查询 在插入数据时,可以利用条件查询来确保插入的数据不与现有数据冲突。例如,使用`INSERT INTO...SELECT`语句...
执行上述SQL语句后,每条记录都将包含一个额外的 `ۼԤ` 字段,显示截至该时间点的累计预计值。例如,对于第一条记录,“2013-01-01”的累计预计值为300;对于第二条记录,“2013-02-01”的累计预计值为380(即300+...
3. 遍历记录集:使用`Do While Not rs.EOF`循环遍历记录集,访问每个字段的数据,如`rs.Fields("字段名")`。 4. 更新和关闭:完成操作后,使用`rs.Update`保存更改,`rs.Close`关闭记录集,`conn.Close`关闭数据库...
示例代码中,使用一个循环插入100万条数据,每次插入10万条。尽管使用了参数化以防止SQL注入,但由于每次插入都需要执行一次SQL命令,导致整体耗时较长。在示例中,仅插入10万条数据就花费了72390毫秒,效率明显不高...
首先,使用`GROUP BY`和`COUNT(*)`找出重复记录,然后通过循环遍历这些记录,并根据字段类型(数字或字符串)构建不同的`DELETE`语句来移除多余的数据。这种方法的好处在于其灵活性,可以适应不同类型的字段和数据。...
这一步骤使用了一个循环来逐一匹配并更新记录。 ```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...
在循环体内,将每条记录的`AutoID`和修改过的`UserName`插入到临时表`#T1`中。 5. **关闭与释放游标**:循环结束后,使用`CLOSE cursor1`关闭游标,并使用`DEALLOCATE cursor1`释放游标资源。 6. **查看结果**:最后...
一个产品的BOM记录了该产品由哪些零部件组成、每个零部件的数量等信息。 #### 二、全阶BOM查询背景与需求分析 在制造型企业中,经常需要查询某个产品的所有组成零部件,包括直接组成部分件以及间接组成部分件,即...
在这个例子中,游标用于循环生成并插入100万条记录到`info`表中。 总的来说,SQL游标是数据库开发中不可或缺的一部分,它允许开发者以更灵活的方式处理和控制数据,尤其在需要逐行处理数据或执行条件判断的场景下。...