0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 98
|
||||||
1 | ||||||
Процедура с условием: если такая запись есть, то update, если нет, то insert02.11.2014, 19:58. Показов 4608. Ответов 10
Метки нет (Все метки)
Хочу сделать процедуру по вбиванию/удалению. Если такая запись есть, то update, если нет, то insert. Подсказали примерно такую штуку, но сделать её под себя я не в состоянии, и синтаксис процедур не особо знаю.
И ещё вопрос, что означает буква перед set?
0
|
02.11.2014, 19:58 | |
Ответы с готовыми решениями:
10
триггеры на проверку если запись есть то пропустить если нет то добавить... Обновить если запись есть; Создать если записи нет Запретить запись в базу, если в базе уже есть такая запись - PHP БД Не срабатывает. Почему? Все просто если запись в таблице есть, то выводим, если нет - выводим заявок нету. |
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
02.11.2014, 23:32 | 2 |
Какой сервер?
В новых есть команда UPDATE OR INSERT
0
|
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 98
|
|
02.11.2014, 23:37 [ТС] | 3 |
У меня вроде не работает, решил, что следующий простой путь - процедура.
InterBase 6.5 что ли
0
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
02.11.2014, 23:44 | 4 |
0
|
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 98
|
|
03.11.2014, 00:09 [ТС] | 5 |
0
|
04.11.2014, 13:26 | 6 | |||||
0
|
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 98
|
|
06.11.2014, 14:40 [ТС] | 7 |
Спасибо, только, по-моему, оно у меня ROW_COUNT не знает. Column unknown
0
|
06.11.2014, 15:44 | 8 | |||||
Aleks_006, каюсь, эта переменная доступна лишь в Firebird >= 1.5. Придется так:
1
|
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 98
|
|
07.11.2014, 23:38 [ТС] | 9 |
Я уже сам в своих задачах запутался. Не пойму, зачем я указал в запросе postavka. Из неё нельзя ничего извлекать, т.к. она подчинённая, а tovar главная. И она не м.б. заполнена раньше. Можно тогда написать from tovar?
И не пойму, как можно insert'ить тот же самый :ID, ведь при вбивании новой книги номер должен быть совсем новым? Разве не нужно его передавать параметром, как остальные три значения?
0
|
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 98
|
||||||
16.11.2014, 16:10 [ТС] | 10 | |||||
Совместными усилиями с преподом наконец-то запилили.
0
|
0 / 2 / 0
Регистрация: 18.11.2014
Сообщений: 40
|
|
18.11.2014, 17:49 | 11 |
по моему в эту строку лучше добавить предикат EXISTS
Основное достоинство предиката существования — высокая скорость выпол- нения подзапроса. Если вы хотите распознать запрос, основанный на существова- нии каких-то данных, то не стоит писать следующее: IF (SELECT COUNT(*) FROM BOOKS WHERE условие)>0 … При исполнении этого кода (прежде чем оценить условие IF) СУБД будет вы- нуждена прочитать все строки в исследуемом наборе данных. Чем больше записей в таблице BOOKS, тем дольше станет выполняться запрос. Напротив запрос, постро- енный на основе инструкции EXISTS, моментально вернет значение TRUE, как толь- ко СУБД столкнется с первой же строкой, удовлетворяющей контролируемому ус- ловию: IF EXISTS (SELECT * FROM BOOKS WHERE условие) …
0
|
18.11.2014, 17:49 | |
18.11.2014, 17:49 | |
Помогаю со студенческими работами здесь
11
Как проверить запись на существование и добавить ее в базу данных если ее там нет или отредактировать если она там есть? Работа со строками. Дано слово. Удалить из него букву О, если такая есть. Удалить из него последнюю букву Л, если такая есть Тригер, проверяющ. есть ли такой ID и если есть обновляющий его, если нет - добавляющий Создание системной переменной если её нет и удаление если есть (setenv) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |