|
|
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Можно ли такое реализовать: если запись с таким id уже есть, прибавить 1 к полю "Количество"; если нет, то создать запись. InterBase 6.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 12:16 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Aleks_006InterBase 6.5 Тупо: http://ibase.ru/devinfo/testiu.htm Для реальных систем с приличной нагрузкой: http://www.sql.ru/forum/964534/hranimye-agregaty-bez-konfliktov-i-blokirovok-recept Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 13:27 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Будет ли работать, если id формируется генератором и в insert'е не пишется? И вообще пока не сообразил, как её под себя сделать. Пока такое намутил: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Сейчас ругается на точку с запятой (если убрать - на BEGIN) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 13:55 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Видимо, даже я знаю про SET TERM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 13:59 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Aleks_006, в DECLARE перед именем переменной двоеточие ставить не надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 14:02 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВидимо, даже я знаю про SET TERM. А ещё ты наверняка умеешь посчитать до трёх. В отличии от. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 14:04 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Да есть у меня SET TERM. Возможно, я тупой, но пока не понял, что именно надо считать до трёх. А в UPDATE была буква T - для чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 14:08 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Aleks_006Возможно, я тупой и как обычно документацию не читающий. Но тебе таки придётся это преодолеть. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 14:39 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Описание по ссылке? Читал. У меня задачи чуть другие, да и вообще, я меня пока что-то с синтаксисом, надо хотя бы это поправить. На begin продолжает ругаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 15:05 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Aleks_006, ты моё сообщение прочёл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 15:12 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Aleks_006InterBase 6.5 по какой причине используется это старьё? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 15:15 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Aleks_006Описание по ссылке? Нет, синтаксис языка PSQL в Language Reference, который лежит в каталоге Doc твоего сервера. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 15:33 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Симонов Дениспо какой причине используется это старьё? С ходу не нашёл новее, либо были какие-то проблемы с установкой. Firebird вообще не пробовал, просто привык к консоли на учёбе и менять неохота. Двоеточие убрал, на ошибку не влияет. Документацию сейчас почитаю тогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 15:54 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Aleks_006Firebird вообще не пробовал, просто привык к консоли на учёбе и менять неохота. "Чо?.." (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 16:02 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Aleks_006, InterBase 6.5 платный, Firebird - нет. Про какой консоль речь? Про IBСonsole что ли. Если да то к этому говну лучше не привыкать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 16:04 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovДля реальных систем с приличной нагрузкой:Описанное там решение подходит для агрегатов с уже существующими ID. Задача автора умрёт, если условие "нет записи" будет возникать достаточно часто. В процедуре на вставку нужно писать обработку исключения на случай, если такую запись уже вставила конкурирующая транзакция, и вставлять уже с увеличением сплиттера, как добавка к существующей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 09:37 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
WildSery, И даже в этом случае надо ещё обыграть ситуацию, когда та самая конкурирующая "передумала" вставлять основную запись. (это касается алгоритма "свёртки") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 09:40 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
WildSeryЗадача автора умрёт, если условие "нет записи" будет возникать достаточно часто. "Чо?.." С каких это пор инсерту не пофиг наличие других записей с таким же значением в одном из полей и что заставит его умереть? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 11:51 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, С самого начала, когда констрейнты на уникальность появились. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 12:12 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Каков вопрос - таков ответ. Расширять конкретную ситуацию до общих вопросов не надо было :) Можно, конечно, валить в таблицу дубли без разбора и констрейнтов, но просто мне не нравится так. Вот такое моё субъективное мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 12:18 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
WildSeryС самого начала, когда констрейнты на уникальность появились. Ну тогда это просто счастье, что в схеме, которую ты пытаешься критиковать, они нигде не используются. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 12:19 |
|
||
|
Изменить если есть, создать если нет
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Особенно, если учесть, что автору нужно всего лишь MERGE для tovar и postavka ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 12:45 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38787559&tid=1563244]: |
0ms |
get settings: |
6ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 516ms |

| 0 / 0 |
