這似乎有伎倆
INSERT INTO CustomerCreditCard (CustomerCode, CreditCardCode, CreditCardDescription, NameOnCard, Address, City, State, PostalCode, Country, ExpMonth, ExpYear, Telephone, Email, IsActive, ResidenceType, UserCreated, DateCreated, UserModified, DateModified, County, StartMonth, StartYear)
SELECT c.CustomerCode,
(SELECT 'CCARD-' + REPLICATE('0', 6 - LEN((SELECT CAST(MAX(CAST(SUBSTRING(ccc.CreditCardCode,7, 6) as INT)) + 1 AS NVARCHAR(MAX)) FROM CustomerCreditCard ccc))) +
(SELECT CAST(MAX(CAST(SUBSTRING(ccc.CreditCardCode,7, 6) as INT)) + 1 AS NVARCHAR(MAX)) FROM CustomerCreditCard ccc)),
'Web Credit Card',
c.CustomerName,
c.Address,
c.City,
c.State,
c.PostalCode,
c.Country,
'Jan',
2025,
c.Telephone,
c.Email,
1,
c.ResidenceType,
'webadmin',
GETDATE(),
'webadmin',
GETDATE(),
c.County,
'Jan',
2010
FROM Customer c
WHERE c.CustomerCode = 'CUST-015056'
請分享序列碼和'下一個值'返回。 – artm
我無法得到'NEXT VALUE FOR'的語法正確,所以我無法讓它返回一個值。 –
您最好對此數據使用計算列,並只使用常規的int標識。這樣你就不必擔心計算下一個值。 –