Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вопрос от новичка по SQL запросу. / 10 сообщений из 10, страница 1 из 1
27.06.2014, 08:40
    #38681424
TimofeySin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка по SQL запросу.
Как вот это заменить на более красивую структуру:

Код: sql
1.
2.
Delete StateManagers.dbo.Division where StateManagers.dbo.Division._IDRRef = 123213213
Insert INTO StateManagers.dbo.Division (Description,_IDRRef) VALUES ('Trololo',123213213)



Задача есть таблица и надо или обновить строку по гуиду, если изменилось, а если вообще не было то создать.
Или такая структура нормальная?
...
Рейтинг: 0 / 0
27.06.2014, 08:43
    #38681425
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка по SQL запросу.
Почитай про update.
...
Рейтинг: 0 / 0
27.06.2014, 08:57
    #38681432
TimofeySin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка по SQL запросу.
А update разве добавит строку, если её не найдет?
...
Рейтинг: 0 / 0
27.06.2014, 09:10
    #38681438
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка по SQL запросу.
TimofeySinА update разве добавит строку, если её не найдет?
нет, поэтому надо сначала проверить есть ли строка с нужным гуидом, а потом либо update либо insert

Delete-Insert проще, но если у тебя используется ссылочная целостность и есть ссылки на эту запись, то она не удалится.
...
Рейтинг: 0 / 0
27.06.2014, 09:13
    #38681443
TimofeySin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка по SQL запросу.
Спасибо! Ссылочная целостность след шаг
...
Рейтинг: 0 / 0
27.06.2014, 09:15
    #38681444
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка по SQL запросу.
Я так понимаю у тебя MS SQL. Лучше спроси в форуме по MS SQL.
Инет почитай. Вот эта проблема обсуждается
...
Рейтинг: 0 / 0
27.06.2014, 09:16
    #38681445
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка по SQL запросу.
В некоторых СУБД есть конструкция MERGE
...
Рейтинг: 0 / 0
27.06.2014, 10:12
    #38681507
Sergeinv89
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка по SQL запросу.
begin
update Table set pole1 = 312 where pole2 = 1233;
if (sql%rowcount = 0) then
insert into Table(pole1,pole2) values (555,'www');
end if ;
end;
...
Рейтинг: 0 / 0
27.06.2014, 15:30
    #38681992
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка по SQL запросу.
конструкция из статьи в блоге (с merge) лучше чем проверка на rowcount, т.к. в момент времени между update и insert в другой транзакции эта строка может появиться.
...
Рейтинг: 0 / 0
02.07.2014, 22:19
    #38686254
дадуда____
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка по SQL запросу.
TimofeySin,

REPLACE INTO
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вопрос от новичка по SQL запросу. / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]