2010-02-12 5 views
0

Я строю хранимую процедуру. Эта хранимая процедура должна вставить запись, если запись с определенным значением не существует. Если значение действительно существует, мне нужно обновить запись. Проблема, с которой я сталкиваюсь, заключается в определении того, существует ли запись с данным значением или нет. Я использую следующий код:SQL - подсчет возвращенных записей

DECLARE @record1ID as char(36) 
SET @record1ID = (SELECT TOP 1 ID FROM Person WHERE [Role]='Manager') 

DECLARE @record2ID as char(36) 
SET @record2ID = (SELECT TOP 1 d.ID FROM Department d WHERE d.[ManagerID][email protected]) 

-- If @record2ID is set update record, otherwise add record 
-- how do I setup this if/else statement? 

Спасибо!

ответ

0
IF (EXISTS YOUR_SELECT) 
BEGIN ... 

или

IF (@record2ID IS NULL) 
BEGIN ... 

или использовать select count(*) вместо выбора значения

1

Если бы это было SQL Server, как это выглядит, вы могли бы сделать подсчет, как это:

объявить @rec_counter, как INT

набор @rec_counter = 0

выберите @rec_counter = кол (*) факультет д где d. [ManagerID] = @ record1

, если (@rec_counter> 0)

начинают

-- do whatever here 

конец

Смежные вопросы