|
|
|
| У меня такой вопрос!
объясните как пользоваться IF EXISTS.
Для чего это нужно?=) Нужно, чтобы проверить существует ли запись в таблице.
к примеру дана таблица tbl
в ней есть несколько записей!
id | name
01 | mysql
02 | time
09 | soft
10 | forum
03 | world
|
как проверить существует ли запись с ID=9 | |
|
|
|
|
|
|
|
для: Ghost_user
(14.12.2009 в 14:31)
| | это часть языка, на котором пишется код хранимых процедур SQL.
проверить в лоб существование записи можно и проще.
Например, по результату оператора SELECT COUNT(*) > 0 FROM tbl WHERE id=9 | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2009 в 14:37)
| | COUNT работает очень долго с большим кол-во пользователей!
а IF EXISTS летает прям!
я не умею пользоваться IF EXISTS, поможете?
следуйте тому примеру, который я указал ранее, напишите плииз, как реализовать его с помощью конструкции IF EXISTS | |
|
|
|
|
|
|
|
для: Ghost_user
(14.12.2009 в 14:43)
| | Запросы COUNT(*) на таблицах типа myisam работают ооочень быстро, так как myisam всегда хранит отдельно точное количество записей. Другое дело если используется WHERE. Тогда используется индекс или, в особо хреновых случаях, производится full table scan. | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2009 в 14:37)
| | так как же, все же это реализовать с IF EXISTS??? | |
|
|
|
|
|
|
|
для: aetern
(07.02.2011 в 22:56)
| | Хм... а можно подробнее об том как вы планируете использовать IF EXISTS и в каком контексте вы его наблюдали? Насколько я помню такая конструкция присутствует в группе операторов DROP и отдельно от него нигде не используется (есть IF, есть IF(), но IF EXISTS в независимом варианте вроде как нет)? | |
|
|
|
|
|
|
|
для: cheops
(07.02.2011 в 23:31)
| | одним из термов общего выражения языка SQL является выражение EXISTS(подзапрос) , которое возвращает истину, если подзапрос может вернуть хотя бы одну строку, и ложь, если не может.
Применяется обычно при построении сложных коррелированных запросов.
http://dev.mysql.com/doc/refman/5.0/en/expressions.html
simple_expr:
...
| EXISTS (subquery)
...
|
| |
|
|
|
|
|
|
|
для: Trianon
(07.02.2011 в 23:48)
| | Хм... меня именно конструкция IF EXISTS заинтересовала, отдельно IF и EXISTS понятное дело существуют. | |
|
|
|
|
|
|
|
для: cheops
(07.02.2011 в 23:58)
| | Отдельно IF мне неизвестна например. | |
|
|
|
|
|
|
|
для: Trianon
(08.02.2011 в 00:01)
| | Есть такой оператор в хранимых процедурах, вы же сами выше указывали, кроме того одноименная функция присутствует еще с 3 версии.
PS Но мне если честно больше интересны ответы Ghost_user и aetern - может они что-то другое имеют в виду? Хорошо бы увидеть хотя бы примерно запрос, который их заинтересовал. | |
|
|
|
|
|
|
|
для: cheops
(08.02.2011 в 00:05)
| | я не знаком с IF EXISTS, меня именно заинтересовал вопрос Ghost_user | |
|
|
|
|
|
|
|
для: cheops
(08.02.2011 в 00:05)
| | >PS Но мне если честно больше интересны ответы Ghost_user и aetern - может они что-то другое имеют в виду? Хорошо бы увидеть хотя бы примерно запрос, который их заинтересовал.
>aetern (08.02.2011 в 14:26) для: cheops (08.02.2011 в 00:05)
> я не знаком с IF EXISTS, меня именно заинтересовал вопрос Ghost_user
А GHost_user не заходил сюда больше года. | |
|
|
|