我想要做的事,如:MySQL存儲過程,如果(選擇....)>變量,然後
if ((select count(id) from abc where ...) > variableINT) then .....
爲什麼這doesn't正常工作?
我想要做的事,如:MySQL存儲過程,如果(選擇....)>變量,然後
if ((select count(id) from abc where ...) > variableINT) then .....
爲什麼這doesn't正常工作?
不要在你的存儲過程如下(我假設你聲明變量和編寫查詢的基礎知識):
聲明一個變量count_id:count_id NUMBER;
然後運行查詢:select count(id) into count_id from abc where ...
然後您可以測試該變量:if (count_id > ...) then .... end if
就是這樣。我必須申報一個變量,不能選擇條件。謝謝! – 2012-03-08 09:42:56
假設您有一個鏈接表(mylinks),其中包含從source_id到target_id的鏈接,並且您只想找到ta有超過5個鏈接的rgets。這將在MySQL中工作。不確定關於MS-SQL。
將target_id,count(source_id)選擇爲來自mylinks組的num_links,通過具有num_links> 5的target_id進行計數;
是的,它會工作,但不適合我的情況 - 我在複雜的聲明中擁有自己的條件 - 但我沒有提到它。無論如何謝謝你的答案。 – 2012-03-08 10:20:15
我只想在表abc中的count(id)高於INT變量中的數字時做一些事情。標準條件,爲什麼這沒有意義? – 2012-03-08 09:39:16
現在明白了。那麼 - 你需要使用'SELECT ... INTO'語法 – zerkms 2012-03-08 09:40:49
是的,我需要一個變量,我知道它。謝謝。 – 2012-03-08 09:46:34