在oracle 数据库 中,如何进行带有主键的行复制,复制时候创建一个新主键。其他内容一致。
在oracle数据库中,如何进行带有主键的行复制,复制时候创建一个新主键。其他内容一致。比如,查询到行A:PID(主键)---名称---代号---步骤---效果图路径00...
在oracle 数据库 中,如何进行带有主键的行复制,复制时候创建一个新主键。其他内容一致。
比如,查询到行 A: PID(主键)---名称---代号---步骤---效果图路径
0001 ----苹果4---IP4---下单中---D:\苹果图
现在要求创造新的一行数据,仅仅要求主键不同,其他一样
0002 ----苹果4---IP4---下单中---D:\苹果图
请问怎么用SQL语句完成自动复制?
补充一下,主键要要求自定的不是按照计数器生成的,比如要求必须2012002应该怎么写SQL?因为这个表的主键并不是由表本身计数器生成的。 展开
比如,查询到行 A: PID(主键)---名称---代号---步骤---效果图路径
0001 ----苹果4---IP4---下单中---D:\苹果图
现在要求创造新的一行数据,仅仅要求主键不同,其他一样
0002 ----苹果4---IP4---下单中---D:\苹果图
请问怎么用SQL语句完成自动复制?
补充一下,主键要要求自定的不是按照计数器生成的,比如要求必须2012002应该怎么写SQL?因为这个表的主键并不是由表本身计数器生成的。 展开
3个回答
展开全部
首先分析主键是怎么构成的 就拿上面的2012002来说 可以分成2部分 2012 即当前年份 后面接002 ,002又可以分成00+2这种形式,即使到后面10或者100 就生成 0010,00100 是这样的吧。那么我们可以将主键先设置成增长 他生成的时候 会是 1,2,3,4 以此类推。在查询的时候这样查询 select to_char(sysdate,'yyyy')||lpad(PID,3,'00') from A;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
insert into table_name
select 'c'||PID, 名称, 代号, 步骤, 效果图路径 from table_name;
建议像我这么处理生成的记录,如果新生成的PID为0002,虽不会和0001冲突,但有可能与表内其他数据冲突。
如果觉得好请采纳
select 'c'||PID, 名称, 代号, 步骤, 效果图路径 from table_name;
建议像我这么处理生成的记录,如果新生成的PID为0002,虽不会和0001冲突,但有可能与表内其他数据冲突。
如果觉得好请采纳
追问
补充一下,主键要要求自定的不是按照计数器生成的,比如要求必须2012002应该怎么写SQL?因为这个表的主键并不是由表本身计数器生成的。
追答
自定义的主键需要的是规则,请把你的规则说清楚我才好分析怎么写。
目前按照你的说法,从001到2012002的话,2012001+PID即可实现从001到2012002的变化。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果不想重复的话可以用uuid
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |