На всякий случай, если вы действительно используете одну базу данных, почему вы не можете просто
CREATE TABLE OrderNumbers (ID INT IDENTITY(1,1), Dummy VARCHAR(1))
INSERT INTO OrderNumbers (Dummy) SELECT ''
SELECT 'ORDER_N' + CONVERT(VARCHAR(50), @@IDENTITY) AS NewOrderNumber
ОБНОВЛЕНИЕ: Даже если у вас разные пользователи (мульти-аренда), ПК будет работать, если ваш порядковый номер не должен быть +1 - т.е. вы можете иметь 1, 4, 10, а не только 1, 2, 3 .
ОБНОВЛЕНИЕ: или, как предложил jprete, сделать что-то вроде:
CREATE TABLE CustomerOrderNumber (ID INT, CustomerID INT)
CREATE FUNCTION GetMaxId ( @mycustomerid INT ) RETURNS INT
AS BEGIN
DECLARE @maxid INT
SET @maxid = SELECT ID FROM CustomerOrderNumber WHERE CustomerID = @mycustomerid
SET @maxid = @maxid + 1
UPDATE CustomerOrderNumber SET ID = @maxid
RETURN @maxid
END