Mysql хранимая процедура if (select ....)> переменная затем - PullRequest
0 голосов
/ 08 марта 2012

Я хочу сделать что-то вроде:

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

Почему это не работает должным образом?

Ответы [ 2 ]

3 голосов
/ 08 марта 2012

Выполните следующие действия в своей хранимой процедуре (я предполагаю, что вы обладаете базовыми знаниями по объявлению переменных и написанию запросов):

Объявите переменную count_id: count_id NUMBER;

Затем выполните свой запрос: select count(id) into count_id from abc where ...

Затем вы можете проверить эту переменную: if (count_id > ...) then .... end if

0 голосов
/ 08 марта 2012

Допустим, у вас есть таблица ссылок (mylinks) со ссылками от source_id до target_id, и вы хотите найти только те цели, которые имеют более 5 ссылок.Это будет работать в MySQL.Хотя не уверен насчет MS-SQL.

выберите target_id, count (source_id) как num_links из группы mylinks по target_id с num_links> 5;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...