Mysql存储过程if(select ....)>变量然后

时间:2012-03-08 09:33:47

标签: mysql stored-procedures

我想做类似的事情:

if ((select count(id) from abc where ...) > variableINT) then .....

为什么这不能正常工作?

2 个答案:

答案 0 :(得分:3)

在存储过程中执行以下操作(我假设您具有声明变量和编写查询的基本知识):

声明变量count_id:count_id NUMBER;

然后运行您的查询:select count(id) into count_id from abc where ...

然后你可以测试那个变量:if (count_id > ...) then .... end if

答案 1 :(得分:0)

假设您有一个链接表(mylinks),其中包含从source_id到target_id的链接,并且您只想查找具有5个以上链接的目标。这将适用于MySQL。但不确定MS-SQL。

选择target_id,使用num_links> 5的target_id从mylinks group中选择count(source_id)作为num_links;