DROP TABLE #ABC
CREATE TABLE #ABC (ID INT, Name VARCHAR (2))
INSERT INTO #ABC (ID, NAME)
VALUES (1,'01'),(1,'F5'),(1,'05'),(2,'08'),(2,'G4'),(3,'Y7'),(3,'18')
drop table #XYZ
CREATE TABLE #XYZ (ID INT, Name char(20))
INSERT INTO #XYZ (ID,Name)
SELECT ID, SUBSTRING(REPLACE(CONVERT(VARCHAR(36), NEWID()) , '-', ''), 0, 3) from #ABC
Select * from #XYZ
我希望该过程创建一个尚未被同一 ID 占用的新名称。换句话说,相同的 ID(比如 ID =1)不能有相同的“名称”列。这只是很少的记录,但我的真实数据很大,我希望系统只在表#XYZ 中生成具有 2 个字符的新名称,这些名称在 #ABC 中已经不被相同的 ID 占用。任何帮助表示赞赏。谢谢