2012-12-27 41 views
0

我想在MySQL中創建一個存儲過程,我在記錄中循環,並返回行,如果某些條件爲真。MySql的soterd程序的if else和while循環

對於例如:我有一個列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存儲過程來做到這一點。

+0

你可以把一些更多的光線對您的問題。什麼是表結構和查詢!你有嘗試過什麼嗎? http://dev.mysql.com/doc/refman/5.0/en/stored-routines.html –

回答

1

你可以做

CREATE PROCEDURE PROC_NAME() 
    BEGIN 
     select * from table 
     where (TRANSTYPE = 'A' and PRIMARY = '0') 
      or (TRANSTYPE in ('B','C') and PRIMARY = '1'); 
    END; 
1
SELECT * FROM <table> 
    WHERE 
     (PRIMARY="0" AND TRANSTYPE = "A") OR 
     (PRIMARY="1" AND TRANSTYPE = "B") OR 
     (PRIMARY="1" AND TRANSTYPE = "C")