当前位置:首页 » 编程语言 » sql单号生成
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql单号生成

发布时间: 2023-03-22 13:24:43

❶ 将excel数据导入sql 如何自动生成ID编号

1、添加jxl.jarmysql-connector-java.1.7-bin.jar包到项目的lib目录下­粗哗租

2、Excel文件目录:D://book.xls

3、数据库名:javenforexcel

4、表名:stu

5、编写类:连接mysql的字符串方法、芦洞插入的方法、实体类岩兆­­

❷ sqlserver中数据库计划单号;该如何实现例如CG1312001

不需要用存储过程
x列实际上就是自增列,如果你是通过企业管理器建表,只需要把x列的“标识”选为是就可以了;如果是通过sql建表,示例为:[x] [int] IDENTITY (1, 1) NOT NULL
y列就是你要的计划单号,通过设置默认值可以完成,实际操作时,不需要对该列写数据,它是自动生成单号的。当然,你也可以不用设置默认值,而把该列设置为公式列,也是可以自动生成的,但实际运用中限制比较多

❸ SQL数据库列自动生成编号

两种方法:

1、用Truncate

TRUNCATETABLEname可以删除表内所有值并重置标识值

2、用DBCC CHECKIDENT

DBCCCHECKIDENT('table_name',RESEED,new_reseed_value)如dbcc checkident ("bc_pos",reseed,1)即可,

但如果表内有数据,则重设的值如果小于最大值可能会有问题,这时可以用 dbcc checkident("bc_pos",reseed)即可自动重设值。

注意:

只能为不允许空值且数据类型为 decimal、int、numeric、smallint、bigint 或 tinyint 的列设置标识属性。此外,不能为主键列设置标识属性。

(3)sql单号生成扩展阅读:

关于上述标识列的引用

如果在SQL语句中引用标识列,可用关键字IDENTITYCOL代替,例如,若要查询上例中ID等于1的行,

以下两条查询语句是等价的:

1、SELECT * FROM T_test WHERE IDENTITYCOL=1

2、SELECT * FROM T_test WHERE

❹ sql存储过程根据编码规则生成编号

由于题设的要求不全,这里假设record为单据表,id为编号字段,最大长度20,其中流水号长度最大为5位
create proc GenerateID
@const varchar(10), --@const作为规则变量的常数
@para char(1), --@para作为规则变量的参数
@date varchar(10), --@date作为规则变量的日期
@idLen int --@idLen作为规则变量的流水号长度
@Id varchar(20) output --@输出id作为生成的编码
AS
if @idLen>5
begin
print('流水号长度超过5位')
return
end
declare @maxId varchar(20), @iMaxId int, @lsh varchar(5),@cIdLen char(1)
--获取最大单号
select @maxid=right(convert(varchar(20),max(id)),5) from record
set @iMaxId=convert(int,@maxid)
set @iMaxId=@iMaxId+1
set @cIdLen=convert(char(1),@idLen)
--生成预定长度的流水号
exec('set @lsh=right(convert(varchar(5),@iMaxid),'+@cIdLen+')')
--生成编码
set @id=@const+@para+@date+@lsh

❺ sql怎么为表的订单号列自动生成订单号

建表的时候可以指定订单默认唯一值,比如guid,或者用触发器自动生成订单号

❻ SQL怎样自动生成编号格式如:GG+YYYYMMDD+4位流水编号

我的项目里也用到这种模式
但有点不好,灵活性太差,逻辑判断都放在程序里,我刚写的改进下。

CREATE PROC CreateMaxNum
(
@NumberHeader NVARCHAR(40) --号码单头类型
)
DECLARE @NumberHeader NVARCHAR(40), --编号头
@NumberMiddle CHAR(8), --编号中间规则
@MaxNum CHAR(8), --编号最大流水号
@SQL NVARCHAR(4000)
SET @NumberMiddle= CONVERT(CHAR(8),GETDATE(),112) --设置中间编码规则
SET @SQL = 'SELECT @Num=RIGHT(''0000''+LTRIM(MAX(RIGHT(号码,4))+1),4)
FROM 号码表
WHERE 号码 LIKE '''+ @NumberHeader+'%'' ';
EXEC sp_executesql @Sql,N'@Num NVARCHAR(40) OUTPUT',@MaxNum OUT
IF @MaxNum IS NULL --不存在该类型的号码,插入流水号为1的号码,
BEGIN
SELECT @NumberHeader + @NumberMiddle + '0001'
END
ELSE
BEGIN --生成最大流水号
SELECT @NumberHeader + @NumberMiddle + @MaxNum
END

❼ 使用Microsoft SQL Server 2000 数据库,使用存储过程或者其它办法使生成的单号不重复

所有生成主键编号(非自动编号)的存储行为都是在保存时完成的,这样才能有效的防止并发,如果交给软件或者网站处理,是不能采用增长型数据的。

如你需要保存的主键数据在保存时+1,,这个过程是不能由软件操作的,比如设置一个自定义函数,将程序的Insert语句中主键部分的@Parameter改成dbo.gettableID(),这样你保存时就不会有被占有的情况,同时保存时要考虑该函数的返回值,以便程序调用。

@Parameter为假定你的程序主键值
dbo.gettableID()为假定你的自定义函数。

❽ SQL 查询 如何查询最初单据编号

;with temp as
(select a as 原始单号,a as 当前单号 from table1 where a='9051'
union all
select temp.原始饥陪单号 as 原始早好单号,table1.b as 当前烂睁蠢单号 from table1
inner join temp on temp.当前单号=table1.a )

select * from temp

❾ 数据库 SQL 如何自动生成000001,000002,… 序号

把你所生成自动编号的那一列 设置成自动增长 种子设为1
如 id int identity(1000,1) 那么这列就不用输入数据 会自动按1000开始 每次递增1

❿ 如何用SQL自动生成序号和分序号

需要用row_number来给分组添加序号。

1、创建测试表,插入数据:

createtabletest(sidint,snamevarchar(20),sclassvarchar(20),scoreint);insertintotestvalues(1,'张三','一年一班',100)insertintotestvalues(2,'李四','一年一班',78)insertintotestvalues(3,'王五','一年一班',67)insertintotestvalues(4,'赵六','一年一班',87)insertintotestvalues(5,'badkano','一年二班',98)insertintotestvalues(6,'网络知道团长','一年二班',99)insertintotestvalues(7,'小小动','一年二班',99)insertintotestvalues(8,'刘备','一年三班',56)insertintotestvalues(9,'张飞','一年三班',67)insertintotestvalues(10,'关羽','一年三班',76)

2、要求按照班级总分给出班级排名(即序号),执行语句:

selectrow_number()over(orderbyscoredesc)排名,sclass班级,score总分from(selectsclass,SUM(score)scorefromtestgroupbysclass)t

3、查询结果: