SQL如何填充字母数字列

时间:2018-01-17 23:05:37

标签: sql sql-server

大家好我正在寻找一种方法来完成一个具有字母数字唯一ID的列,例如添加最后一行的+1,图像为例

enter image description here

但我们正在谈论大约10万行左右 如何完成IDPEP列?

之类的东西
 INSERT INTO dbo.Table(IDPEP)
 SELECT 'IDP' + RIGHT('000000' + CAST(IDPEP + 1 AS VARCHAR(6)), 6)

但是我不知道该怎么做,这个主表也通过其他一些查询填充了一个触发器,它添加了IDP + last int值也是一个选项,但我不知道怎么做,我' m使用Sql server 2012

2 个答案:

答案 0 :(得分:1)

您不希望For Each c In sheets("Portfolio").Range("A1:A" & X-1) c.offset(0,1)=left(c.offset(0,1),9) 'For column "B" in sheets "Portfolio" c.offset(0,5)=left(c.offset(0,5),9) 'For column "F" in sheets "Portfolio" '... Next c ,您想要insert。在SQL Server中,您可以执行以下操作:

update

答案 1 :(得分:0)

对我来说,这里的部分解决方案是确保插入表格的所有数据最终都通过相同的渠道完成。

我不确定你的环境是否可行,但我可能实现的方法是将所有数据插入到临时表中,然后有一个存储过程,它们都添加了新的ID并将数据处理到目标表中。这是一种相当典型的数据仓库方法。

您可以通过多种方式添加新ID,例如,从目标表中获取最后一个ID,然后使用ROW_NUMBER函数计算每条记录的增量。