20 lines
505 B
SQL
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;
|