В хранимой процедуре как выполнить запрос и сделать что-то условно - PullRequest
3 голосов
/ 11 мая 2010

Как мне сделать это в хранимой процедуре (SQL 2005):

count = select count(*) from table1 where line like '%success%'
if count > 0:
   delete from table1 where not line like '%success%'

Спасибо за любую помощь. Мои навыки Google действительно подводят меня сегодня: - (

Ответы [ 3 ]

5 голосов
/ 11 мая 2010

Итак, если есть строки, в которых line соответствует успеху, удалите все строки, в которых line не соответствует успеху?

IF EXISTS (SELECT * from table1 where line like '%success%')
   delete from table1 where line NOT like '%success%'
5 голосов
/ 11 мая 2010

Я бы написал так

if exist (select 1 from table1 where line like '%success%')
begin
    delete from table1 where line not like '%success%'
end
1 голос
/ 11 мая 2010

Я бы вообще не держал чек. Какова цель этой проверки?

Просто используйте запрос на удаление вместе с предложением where.

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