LevelOS-Core/UI/ArquivosAuxiliares/Triggers/ClienteEnderecosTriggers.sql

40 lines
845 B
Transact-SQL

CREATE OR ALTER TRIGGER TR_ClientesEnderecos_GerarCodigo
ON Clientes_enderecos
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @UltimoNumero INT;
SELECT @UltimoNumero =
ISNULL(
MAX(
CAST(
REPLACE(CODIGO, 'END', '')
AS INT)
),
99)
FROM Clientes_enderecos
WHERE CODIGO IS NOT NULL;
;WITH Numerados AS
(
SELECT
ID_COD_CLIENTE_END,
ROW_NUMBER() OVER (ORDER BY ID_COD_CLIENTE_END) AS Linha
FROM inserted
)
UPDATE C
SET CODIGO =
'END' +
RIGHT(
'0000' +
CAST(@UltimoNumero + N.Linha AS VARCHAR),
4
)
FROM Clientes_enderecos C
INNER JOIN Numerados N
ON C.ID_COD_CLIENTE_END = N.ID_COD_CLIENTE_END;
END
GO