альтернатива replace из MySQL в MS SQL
От: Vanja  
Дата: 19.07.04 07:57
Оценка:
если что либо подобное?
если нет, то как тогда быть
когда вариант следуюший
при налиции текуших данных в бд надо их просто обновить, если их нет, то вставит. можно было бы написать хранимую процедур, но заранее ен известно кол-во параметров для ввода/обнавления в бд....
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re: альтернатива replace из MySQL в MS SQL
От: Курилка Россия http://kirya.narod.ru/
Дата: 19.07.04 09:28
Оценка:
Здравствуйте, Vanja, Вы писали:

V>если что либо подобное?

V>если нет, то как тогда быть
V>когда вариант следуюший
V>при налиции текуших данных в бд надо их просто обновить, если их нет, то вставит. можно было бы написать хранимую процедур, но заранее ен известно кол-во параметров для ввода/обнавления в бд....

Имхо нет особых вещей в мс сиквеле, можно, наверное, попробовать запихать в сохр. процедуру перем. число параметров, но это наврядли...
Так что только 1 сохр. процедура на каждую таблицу, я думаю (с фикс. набором параметров ес-но)
Re: альтернатива replace из MySQL в MS SQL
От: _d_m_  
Дата: 20.07.04 00:17
Оценка: 3 (1)
Здравствуйте, Vanja, Вы писали:

V>если что либо подобное?

V>если нет, то как тогда быть
V>когда вариант следуюший
V>при налиции текуших данных в бд надо их просто обновить, если их нет, то вставит. можно было бы написать хранимую процедур, но заранее ен известно кол-во параметров для ввода/обнавления в бд....

Двумя операторами, допустим в INSTEAD OF INSERT триггере:
create trigger TrigTable_InsertOrReplace_InstInsert on [table]
instead of insert
as begin
    delete
        [table]
    from
        [table] as t
            inner join
        inserted as ins
                on
                    t.[primary key] = ins.[primary key]
    ;
    insert
        [table]
    select
        *
    from
        inserted
    ;
end
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.