mocha/sql/mysql/001-procedures/mocha_get_related_instances.sql
2023-11-11 20:28:45 -05:00

29 lines
824 B
SQL

DROP PROCEDURE IF EXISTS mocha_get_related_instances;
CREATE PROCEDURE mocha_get_related_instances
(
IN p_tenant_id INT,
IN p_src_inst_id INT,
IN p_rel_inst_id INT,
IN p_effective_date DATETIME
)
BEGIN
DECLARE z_effective_date DATETIME;
IF p_effective_date IS NULL THEN
SET z_effective_date = NOW();
ELSE
SET z_effective_date = p_effective_date;
END IF;
SELECT mocha_instances.*
FROM mocha_instances, mocha_relationships
WHERE mocha_instances.tenant_id = p_tenant_id
AND mocha_instances.id = mocha_relationships.destination_inst_id
AND mocha_relationships.source_inst_id = p_src_inst_id
AND mocha_relationships.relationship_inst_id = p_rel_inst_id
AND mocha_relationships.effective_date <= z_effective_date
ORDER BY mocha_relationships.effective_date ASC;
END;