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

34 lines
823 B
Transact-SQL

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