我想在MySQL中创建一个存储过程,在其中循环遍历记录,如果满足某些条件,则返回行。

例如:我有一个列为PRIMARY, TRANSTYPE, DATE, AMOUNT的表。现在PRIMARY可以是0或1,而TRANSTYPE可以是A,B,C。

现在我要做的是返回行,其中PRIMARY="0" if TRANSTYPE = "A" and return row where PRIMARY="1" if TRANSTYPE = "B" or TRANSTYPE = "C"

目前,我正在使用PHP进行此操作,但是我想使用MySql存储过程进行此操作。

最佳答案

你可以做

 CREATE PROCEDURE PROC_NAME()
    BEGIN
       select * from table
       where (TRANSTYPE = 'A' and PRIMARY = '0')
          or (TRANSTYPE in ('B','C') and PRIMARY = '1');
    END;

09-06 23:43