mocha/sql/mysql/001-procedures/mocha_get_attribute_value.sql
2023-11-26 23:31:32 -05:00

30 lines
736 B
SQL

DROP PROCEDURE IF EXISTS mocha_get_attribute_value;
CREATE PROCEDURE mocha_get_attribute_value
(
IN p_source_inst_id INT,
IN p_attribute_inst_id INT,
IN p_effective_date DATETIME
)
BEGIN
DECLARE p_tenant_id INT;
DECLARE z_effective_date DATETIME;
SET p_tenant_id = mocha_get_current_tenant();
IF p_effective_date IS NULL THEN
SET z_effective_date = NOW();
ELSE
SET z_effective_date = p_effective_date;
END IF;
SELECT att_value FROM mocha_attributes
WHERE tenant_id = p_tenant_id
AND src_inst_id = p_source_inst_id
AND att_inst_id = p_attribute_inst_id
AND att_effective_date <= z_effective_date
ORDER BY att_effective_date DESC, id DESC
LIMIT 1;
END;