salix/db/routines/vn/procedures/entry_clone.sql

32 lines
644 B
MySQL
Raw Normal View History

DELIMITER $$
2024-11-28 07:13:53 +00:00
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`entry_clone`(
vSelf INT,
2024-12-04 07:12:47 +00:00
OUT vOutputEntryFk INT
2024-11-28 07:13:53 +00:00
)
BEGIN
/**
* clones an entry.
*
* @param vSelf The entry id
2024-12-04 07:12:47 +00:00
* @param vOutputEntryFk The new entry id
*/
DECLARE vNewEntryFk INT;
2025-01-07 11:02:32 +00:00
DECLARE vIsRequiredTx BOOL DEFAULT NOT @@in_transaction;
2024-05-23 10:39:30 +00:00
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
2025-01-07 11:02:32 +00:00
CALL util.tx_rollback(vIsRequiredTx);
2024-05-23 10:39:30 +00:00
RESIGNAL;
END;
2025-01-07 11:02:32 +00:00
CALL util.tx_start(vIsRequiredTx);
CALL entry_cloneHeader(vSelf, vNewEntryFk, NULL);
CALL entry_copyBuys(vSelf, vNewEntryFk);
2025-01-07 11:02:32 +00:00
CALL util.tx_commit(vIsRequiredTx);
2024-12-04 07:12:47 +00:00
SET vOutputEntryFk = vNewEntryFk;
END$$
DELIMITER ;