我的数据库中有多个表用于(类似但不同)产品。MySql存储过程选择表
是否可以根据参数(下面的示例)选择要使用的表格? (这将节省我有相同的过程多个相似的副本)。
DELIMITER $$
DROP PROCEDURE IF EXISTS `dostuff` $$
CREATE PROCEDURE `dostuff`(IN prod_code VARCHAR(10))
BEGIN
IF INSTR(prod_code, 'product_a') THEN
myTable = product_a_table
ELSE IF INSTR(prod_code, 'product_b') THEN
myTable = product_b_table
END IF
-- do stuff on myTable such as SELECT and UPDATE
END $$
DELIMITER ;
由于每个产品具有不同的参数集,因此需要唯一的表。 – user199559 2009-10-30 10:52:16
为了增加进一步的复杂性,将来可能会增加参数集,并且我还需要使用不同的版本。 – user199559 2009-10-30 10:53:51
在过去的10年里,我使用了大量的数据,但我发现很难相信,如果不在不同表格中复制类似的数据,就无法表示这些数据。 – Fenton 2009-11-02 08:22:10