oracle11g-使用sql语句select插入数据时怎么用行号补0为流水号做完单号保存

问题描述

使用sql语句select插入数据时怎么用行号补0为流水号做完单号保存


使用select语句像某个表中插入数据,表的单号要为该语句的ItemCode的值+5位流水号。流水号的规则是查询出来的“RowNum”的值自动补0为5为流水号。怎么出入,查询数据如图

解决方案

新增一列numerical order 类型为字符串
然后写个方法计算numerical order ,insert进去。
但只用sql语句的话,还没想到。

解决方案二:

试试这个:

 select
       itemcode || lpad(rownum,5,'0') as new_itemcode
from tb

解决方案三:

效果类似于这样:

 select
       '10005' || lpad(rownum,5,'0') as new_itemcode
from dual
/*
new_itemcode
1000500001
*/
时间: 2025-01-26 12:17:51

oracle11g-使用sql语句select插入数据时怎么用行号补0为流水号做完单号保存的相关文章

sqlserver中一条sql语句把插入数据的ID返回出来,oracle中sql语句要怎么写?

问题描述 sqlserver中一条sql语句把插入数据的ID返回出来,oracle中sql语句要怎么写? sqlserver中一条sql语句把插入数据的ID返回出来,oracle中sql语句要怎么写? 解决方案 oracle,sqlserver分页查询sql语句重复的数据只取一条,SQL语句如何写 解决方案二: select test.currval from dual 解决方案三: oracle里面不是差不多的吗

SQL插入数据时返回最新ID方法

SQL插入数据时返回最新ID方法 SELECT LAST_INSERT_ID().SELECT @@IDENTITY接可.但到下午那兄弟还没搞定.因为不知道怎么运行..项目都是三层的.基本是写在DBHELPER中.原因是其写入了: cmd.ExecuteNonQuery(); ---这是执行非查询语句返回受影响的行数. 其实是应该写入: cmd.ExecuteScalar(); 返回首行首列.可能是因为helper里面注释为:        /// <summary>         ///

web用sql语句访问是数据库时造成数据被覆盖

问题描述 web用sql语句访问是数据库时造成数据被覆盖 我的问题是这样的:云端有4个地址块0.1.2.3.我需要从这4个地址中读取数据,当道一个类中,然后把数据以曲线的形式呈现到页面.而且 我前端用的iframe静态加载数据.同时,var_type=1的iframe加载数据后紧接着var_type=3的iframe开始加载数据.我的做法: 第一步:我利用sql语句直接访问数据库.第二步:var_type=1访问块0数据,然后存放到his_dev0(是个类)中,var_type=3访问数据库块0

mfc sqlite-mfc用w32sqlite插入数据时老是提示SQLITE_ERROR

问题描述 mfc用w32sqlite插入数据时老是提示SQLITE_ERROR mfc用w32sqlite插入数据时老是提示SQLITE_ERROR if(!isopendb){ isopendb=sqlite.Open(_T(""C:Usersdb"")); } sqlite.DirectStatement(sqlstr1); sqlite.DirectStatement(sqlstr2); sqlite.DirectStatement(sqlstr3); sql

asp.net数据库连接插入数据时出错,如下:???

问题描述 asp.net数据库连接插入数据时出错,如下:??? string constr = "data source=USER-20141030QL;initial catalog=ASP.net;integrated security=true"; using (SqlConnection con = new SqlConnection(constr)) { string sql = string.Format("Insert into Employees values

MySQL和SQL Server在插入数据上的差别

环境:MySQL Sever 5.1 + SQLServer 2008 R2 问题:MySQL和SQLServer在插入数据上的差别 先看两张图: MySQL: SQLServer: 在MySQL里创建表,主键自增 ,在插入数据时,不指定列名(表示对每个字段都赋值),会报列数不匹配,指定列名后插入正常:而在 SQLServer里,表的主键同样是自增,不指定列名却可以正常插入. 附 SQL: MySQL create table tb_user(id int primary key auto_in

sql server2012为什么插入数据和表格数据不一样

问题描述 sql server2012为什么插入数据和表格数据不一样 insert into employee (emp_no,emp_name,sex,dept,title,date_hired,salary) values('003','刘晨','M','业务','职员',1933/01/21,4320) 看表中日期却是1900/04/03 解决方案 其他数据正常否?未设置好时区?或是此时间被二次处理了?你存个timestamp多好 解决方案二: 将日期的值用单引号扩起来 SELECT CO

在php中使用sql游标select将数据存入数组中

问题描述 在php中使用sql游标select将数据存入数组中 #这个用于处理游标到达最后一行的情况 DECLARE s int default 0; #声明游标cursor_name(cursor_name是个多行结果集) DECLARE cursor_name CURSOR FOR select NNF_ID,NNF_NAME,NNF_REALNAME,NNF_NOTICE_ID from t_notice_file; #设置一个终止标记 DECLARE CONTINUE HANDLER F

codefrist-Entity Framework使用Code First 插入数据时,多出来额外的数据

问题描述 Entity Framework使用Code First 插入数据时,多出来额外的数据 在项目总使用Code First遇到坑爹的问题了 例如我有如下类: public class Catalog { public Int32 ID { get; set; } public String CatalogName { get; set; } public Catalog() { } public Catalog(Int32 ID, String Name) { this.ID = ID;