Oracle系列---【在sql语句中新增非自增的ID时,如何生成ID?】
2022/6/10 2:19:50
本文主要是介绍Oracle系列---【在sql语句中新增非自增的ID时,如何生成ID?】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.今天同事遇到一个问题,Oracle数据库,用insert...select从老表中往新表中新增数据时,新表的ID不是自增的,需要在sql语句中生成一个NUMBER(20,0)的ID.
insert into table1 (RULE_ID,RULE_CODE,RULE_NAME ) SELECT t2.RULE_ID t2.RULE_CODE,t2.RULE_NAME from table2 t2
2.因为table2表中的RULE_ID为字符串,而table1中的RULE_ID为NUMBER(20,0),字符串转换不成数字,所以需要重新生成ID
insert into table1 (RULE_ID,RULE_CODE,RULE_NAME ) SELECT lpad(rownum,20,0) t2.RULE_CODE,t2.RULE_NAME from table2 t2
3.扩展
lpad(rownum,20,0)这个函数会生成数字;
'ID'||lpad(rownum,20,0)前面加个'ID'可以生成字符串'ID0001'。
这篇关于Oracle系列---【在sql语句中新增非自增的ID时,如何生成ID?】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享