Files
lux/EgwCoreLib.Lux.Data/SqlScripts/Stored/stp_counterGetNext.sql
T

20 lines
505 B
SQL

DROP PROCEDURE IF EXISTS `stp_counterGetNext`;
CREATE PROCEDURE stp_counterGetNext(
IN pYear INT,
IN pName VARCHAR(100),
OUT pValue INT
)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT 'Ritorna il prossimo valore di contatore per il flusso richiesto con upsert'
BEGIN
INSERT INTO counters (RefYear, CountName, Counter)
VALUES (pYear, pName, 1)
ON DUPLICATE KEY UPDATE Counter = LAST_INSERT_ID(Counter + 1);
SELECT LAST_INSERT_ID() INTO pValue;
END;