sql 数据库循环插入100条记录! 怎么实现? 是不是得用存储过程啊

sql 数据库循环插入100条记录! 怎么实现? 是不是得用存储过程啊,第1张

1、创建测试表,

create table test_loop(id varchar2(20),remark varchar2(20))

2、循环插入测试数据;

begin

for i in 1..100 loop

   insert into test_loop

values(i,'level_'||i)

end loop

commit

end

3、查询表中全量数据;select t.*, rowid from test_loop t

4、编写语句,查询表中记录数,可以看到结果为100;

 select count(*) sec from test_loop t

这个主要是看你用的哪个数据库了

不同的数据库有差异。

在mysql和oracle里面用如下方法最简单

select * from table LIMIT 10,100;

而在sqlserver中由于不支持limit只用其他方法啦:

当此表有主键时:

select top 100 * from 表 where 主键 not in(select top 10 主键 from 表)

如果表中无主键:

可以用临时表,加标识字段解决.这里的x,y可以用变量.

select id=identity(int,1,1),* into #tb from 表

select * from #tb where id between 10 and 100

sqlserver支持top关键字,返回前100条数据。select

top

100

*

from

table//

返回前100行数据

mysql支持limit,一个参数:select

*

from

table

limit

100

//返回前100行记录

Oracle需要使用rownum。select

*

from

table

where

rownum<=100

//返回前100条数据

TOP

子句

TOP

子句用于规定要返回的记录的数目。

对于拥有数千条记录的大型表来说,TOP

子句是非常有用。

SQL

Server

的语法:

SELECT

TOP

number|percent

column_name(s)

FROM

table_name

limit子句用于强制select语句返回置顶的记录数,参数必须是整数常量。一个参数是返回前几条记录;两个参数时,第一个参数指定第一个返回记录行的偏移量(初始记录行的偏移量是0),第二个参数指定返回记录的最大数目。

rownum是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀

拓展资料:

SQL即结构化查询语言(Structured

Query

Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。SQL语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,SQL查询语句就是一个典型的例子,无论是高级查询还是低级查询,SQL查询语句的需求是最频繁的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9998733.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存