如何仅将列值插入前一千行
Posted
技术标签:
【中文标题】如何仅将列值插入前一千行【英文标题】:How to insert a column value to only first thousand rows 【发布时间】:2019-11-11 11:38:55 【问题描述】:我有一个名为 GSH 的表,其中值已经存在。
已在“GSH”表中添加了一个名为“GS”的新列。我必须仅为从 GSH 表中选择的前一千行向新添加的列添加值。
如何编写 SQL 查询?
【问题讨论】:
用您正在使用的数据库标记您的问题。 什么定义了“前一千行”? 使用的数据库:Sql ...只想通过使用rownum条件选择前一千行。 @Padmaja ,SQL 是一种查询语言,所有 DBMS 都在使用该名称。因此,请提及您正在使用的 DBMS,例如 Oracle、mysql、MSSQL 等, 另外,请注意database tables are unsorted by nature,因此没有“前 x 行”,除非您可以指定要排序的列。 【参考方案1】:如果我没看错,您想在列中添加随机 1000 行的数据。 (更新新列的值)
Update GSH
SET GS = 1 -- replace 1 with value that you want to fill it with
WHERE ROWNUM <= 1000;
干杯!!
【讨论】:
如果它解决了您的问题,请接受此答案,以便将此问题标记为已解决 如果这个答案解决了你的问题,那么请accept它,这样你的问题就会被标记为已解决。【参考方案2】:您可以在下面使用(假设您要选择任意 100 行)
update GSH
set GS = 'your values logic'
where rowid in (
select rowid
from GSH
where rownum < 101);
这是我用来重新创建你的场景的脚本
drop table temp;
create table temp (temp1 varchar2(100));
begin
for rec in 1..500
loop
insert into temp values('s');
end loop;
commit;
end;
/
alter table temp add temp2 varchar2(200);
update temp
set temp2 = 'your values logic'
where rowid in (
select rowid
from temp
where rownum < 101);
【讨论】:
以上是关于如何仅将列值插入前一千行的主要内容,如果未能解决你的问题,请参考以下文章
JAVA JDBC批处理插入,每一千行提交一次,如果中途失败。怎么办?