在Visual Studio 2008中,在Web应用程序(C#)中,在“供应商主Web”表单中,当我添加新的供应商名称,例如" Mac' D"时,我希望其唯一ID如(M001)要被创造。此ID将从名称的第一个名称生成为' M'和001一起,如果有另一个供应商有第一个初始' M',那么它继续下一个ID(M002),依此类推,如果另一个供应商有不同的名称,如"肯德基" ,那就像(K001)。
有可能吗?如果是的话......请帮助我...
答案 0 :(得分:0)
ALTER PROCEDURE dbo.SP_VENDORCODE
@IN INT,
@DATE DATETIME,
@NAME NVARCHAR(MAX),
@ADD1 NVARCHAR(MAX),
@MOB NVARCHAR(MAX),
@EMAIL NVARCHAR(MAX),
@CONTACTPERSON NVARCHAR(MAX),
@MOB1 NVARCHAR(MAX),
@VAT NVARCHAR(MAX),
@CST NVARCHAR(MAX)
AS
BEGIN
DECLARE @NEWID NVARCHAR(5);
DECLARE @PREFIX NVARCHAR(1);
SET @PREFIX = UPPER(SUBSTRING(@NAME, 1, 1))
SELECT @NEWID = (@PREFIX + replicate('0', 3 - len(CONVERT(NVARCHAR,N.OID + 1))) + CONVERT(NVARCHAR,N.OID + 1)) FROM (
SELECT CASE WHEN MAX(T.TID) IS null then 0 else MAX(T.TID) end as OID FROM (
SELECT SUBSTRING(Code, 1, 1) as PRE_FIX,SUBSTRING(Code, 2, LEN(Code)) as TID FROM SupplierMaster
) AS T WHERE T.PRE_FIX = @PREFIX
) AS N
INSERT INTO SupplierMaster VALUES(@IN,@NEWID,@DATE,@NAME,@ADD1,@MOB,@EMAIL,@CONTACTPERSON,@MOB1,@VAT,@CST)
END