游标-需要需要往同一张表插入 多条 主键递增 其他字段数值完全相同的几条数据 (数据就来自这张表)怎么做?

问题描述

需要需要往同一张表插入 多条 主键递增 其他字段数值完全相同的几条数据 (数据就来自这张表)怎么做?

需要需要往同一张表插入 多条 主键递增 其他字段数值完全相同的几条数据 (数据就来自这张表)怎么做?

解决方案

 declare
aa integer :=1;
begin
while aa<10
loop
insert into test values('test',aa);
aa:=aa+1;
end loop;
end;

解决方案二:

比如你的表的结构是 a(id,name,age) 插入原来表中id为1,2,3的数据,设置主键递增,做法是
insert into a(name,age) selec name,age from a where id in (1,2,3)

解决方案三:

INSERT INTO 表名(列1,列2) SELECT 列1,列2 FROM 表名;
列中不包含主键

解决方案四:

declare
type vararray is table of varchar2(50) ;
var_arr vararray ;
begin
var_arr := vararray(20030629,20030629);
for i in 1..2 loop
loop

insert into X80_account (X80KEY,RCD,RMD,RS,RSMD,AGENCYKEY,PERSONKEY, BUSINESSKEY,SUPPLIERKEY,DBDATE,DBUSERID,DBBATCH,DBSEQ,DBTRANCODE,DBREFYEAR,DBACTCODE,DBAMOUNT,PAYMENTKEY,CRCODE,CRREFYEAR,CRACTCODE,CRAMOUNT,TRANSFEREDTO)
select (select max(X80KEY)+1 from X80_account) as X80KEY , RCD,RMD,RS,RSMD,var_arr(i) as AGENCYKEY,PERSONKEY, BUSINESSKEY,SUPPLIERKEY,DBDATE,DBUSERID,DBBATCH,DBSEQ,DBTRANCODE,DBREFYEAR,DBACTCODE,DBAMOUNT,PAYMENTKEY,CRCODE,CRREFYEAR,CRACTCODE,CRAMOUNT,TRANSFEREDTO from X80_account
where x80key='2530753'

end loop;
end;

解决方案五:

declare
**type vararray is table of varchar2(50) ;
var_arr vararray ;
begin
var_arr := vararray(20030629,20030629);
for i in 1..2 loop **
loop

insert into X80_account (X80KEY,RCD,RMD,RS,RSMD,AGENCYKEY,PERSONKEY, BUSINESSKEY,SUPPLIERKEY,DBDATE,DBUSERID,DBBATCH,DBSEQ,DBTRANCODE,DBREFYEAR,DBACTCODE,DBAMOUNT,PAYMENTKEY,CRCODE,CRREFYEAR,CRACTCODE,CRAMOUNT,TRANSFEREDTO)
select (select max(X80KEY)+1 from X80_account) as X80KEY , RCD,RMD,RS,RSMD,**var_arr(i) as AGENCYKEY**,PERSONKEY, BUSINESSKEY,SUPPLIERKEY,DBDATE,DBUSERID,DBBATCH,DBSEQ,DBTRANCODE,DBREFYEAR,DBACTCODE,DBAMOUNT,PAYMENTKEY,CRCODE,CRREFYEAR,CRACTCODE,CRAMOUNT,TRANSFEREDTO from X80_account
where x80key='2530753'

end loop;
end;

时间: 2024-12-03 18:32:35

游标-需要需要往同一张表插入 多条 主键递增 其他字段数值完全相同的几条数据 (数据就来自这张表)怎么做?的相关文章

插入操作-DB2 中如何将表中数据复制一份,改变表中一个联合主键的值,

问题描述 DB2 中如何将表中数据复制一份,改变表中一个联合主键的值, 如下: 表A有3个字段是联合主键(非自增长) create table A ( a VARCHAR(20) not null, b VARCHAR(100) not null, c VARCHAR(10) not null, constraint P_Key_1 primary key (a, b, c) ); 表中数据: a b c 1 2 0 1 3 0 如何将表中数据复制一份,改变表中一个联合主键的值,将字段"c&qu

oracle数据库表中在没有主键的情况下如何删除重复记录

问题描述 oracle数据库表中在没有主键的情况下如何删除重复记录 数据库表没有主键,没有唯一性约束,如何删除重复记录呢?求大神解答. 解决方案 http://www.cosdiv.com/page/M0/S505/505957.htmlhttp://www.jb51.net/article/35593.htmhttp://www.newhua.com/2012/0106/141377.shtml 上面几篇文章你可以点击进去看看. 如果回答对你有帮助请采纳 解决方案二: delete from

mybatis多线程批量插入MySQL报主键冲突

问题描述 mybatis多线程批量插入MySQL报主键冲突 insert into SMS_DOWN_HISTORY(templateCode,activityCode,activityId,sendRoundId,arrangeDate,expireDate,messageId,mobile,requestId,senderId,depName,depId,flag,level,smsTemplateVar,systemName,mtime,ctime) values (#{item.temp

小议主子表INT自增主键插入记录的方法

插入    主子表最常见的大概就是用在进销存.MRP.ERP里面,比如一张销售订单,订单Order(ID,OrderDate),订单明细OrderDetail(OrderID, ProductID, Num,Price)这个大概就是最简单的主子表了,两个表通过ID与OrderID建立关联,这里主键ID是自增的INT类型,OrderID是表OrderDetail的外键.当然,键的选择方法很多,现在我们选择的是在sql里面最简单的方法.    对于这样的表结构,我们最常见的问题就是保存的时候怎样处理

SQL Server上进行表设计时表的主键设计问题

关于数据库的逻辑设计,是一个很广泛的问题.本文主要针对开发应用中遇到在MS SQL Server上进行表设计时,对表的主键设计应注意的问题以及相应的解决办法. 主键设计现状和问题 关于数据库表的主键设计,一般而言,是根据业务需求情况,以业务逻辑为基础,形成主键. 比如,销售时要记录销售情况,一般需要两个表,一个是销售单的概要描述,记录诸如销售单号.总金额一类的情况,另外一个表记录每种商品的数量和金额.对于第一个表(主表),通常我们以单据号为主键;对于商品销售的明细表(从表),我们就需要将主表的单

mysql插入操作-MySQL主键字段自增长的插入

问题描述 MySQL主键字段自增长的插入 在插入记录时,主键的自增长序号不连续是什么原因?有人说是什么事物回滚? 解决方案 数据回滚式插入失败,造成该立键已用,相应跳过了. 解决方案二: 是不是有出现插入失败等 这样就会导致对应主键值不连续 解决方案三: 事务回滚就是你给对方打钱,你的钱数已经被扣了,但这时ATM突然坏了,对方没有收到钱,你的钱肯定不能飞了吧,它就只好回到打钱之前的状态.你描述的问题有可能是回滚引起的,建议再查查.

MyBatis 获取插入记录的主键?

问题描述 <insert id="insert" parameterType="Menu" useGeneratedKeys="true" keyProperty="id">insert into t_menu (name) values (#{name})</insert>怎么返回的都是1????附:public class Menu { private Integer id;//主键 private

oracle中如何判断本表有多少张表对其有外键关联

在oracle中如何判断本表有多少张表对其有外键关联?我们主要分为两步: 第一步:        //查询表的主键约束名 select * from user_constraints e where e.table_name='' -----此处输入表名 第二步:        //查询所有引用到该主键的记录 select b.table_name,b.column_name from user_constraints a inner join user_cons_columns b on a.

一张表两个主键 在另外一张表中怎么用外键引用它?

问题描述 一张表两个主键 在另外一张表中怎么用外键引用它? 一张表两个主键 在另外一张表中怎么用外键引用它? 麻烦帮忙解决一下. 非常感谢. 解决方案 首先申明一点,一张表没有两个主键,你说的那种情况属于联合主键.对于你说的这种情况,直接将这个联合主键的两个字段添加到另一张表中作为外键就可以. 解决方案二: Create table BorrowBook( StuNo int, BookID int, BorrowDate datetime, ReturnDate datetime, CONST