file{Prop:SQL}='INSERT INTO...'
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
file{Prop:SQL}='INSERT INTO...'
А где видно, что ключ первичный, об этом надо торжественно заявить!
И при создании записи первичный ключ не должен быть пустой строкой, иначе мы никогда не найдём эту запись
И при создании записи первичный ключ не должен быть пустой строкой, иначе мы никогда не найдём эту запись
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
file{Prop:SQL}='INSERT INTO...'
Зачем нужны "before" триггеры при insert , создайте как положено, а потом в after триггер измените как надо )
Последний раз редактировалось gopstop2007 10 Декабрь 2019, 11:04, всего редактировалось 1 раз.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
file{Prop:SQL}='INSERT INTO...'
morkovin привёл часть скрипта на создание таблицы. Неужели Вы сомневаетесь, что поле "mid" первичный, а поле "uid_fk" внешний ключ?
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
file{Prop:SQL}='INSERT INTO...'
Баттл? А как положено? Я соглашусь, при добавлении записи можно настроить поля по "дефолту". Как настроить при изменении? Типичный пример. Мне нужно записывать дату, время изменения. Не вести журнал изменений в отдельной таблице, а в этой же. В ФБ я сделаю так в before триггере:gopstop2007 писал(а): ↑10 Декабрь 2019, 11:00Зачем нужны "before" триггеры , создайте как положено, а потом в after триггер измените как надо )
Код: Выделить всё
new."datetime" = current_datetime
А если мне нужно сравнить поля на "было/стало"? В ФБ:
Код: Выделить всё
if new."id_fk"<>old."id_fk"
бла-бла-бла ;
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
file{Prop:SQL}='INSERT INTO...'
не понял, а чем CURRENT_TIMESTAMP или NOW не подошло? триггер зачем?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
file{Prop:SQL}='INSERT INTO...'
А как без триггера? "Ручные" запросы на апдейт, как правило, не пользую. По возможности обхожусть стандартными вещами. К тому же я апологет переноса всего что возможно на сервер .
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
file{Prop:SQL}='INSERT INTO...'
на стороне сервера, отлично, и я о том же поле как timestamp не рассматривается?
Например, правда в Mysql:
Код: Выделить всё
CREATE TABLE `product` (
`PROD_ID` int(11) NOT NULL AUTO_INCREMENT,
...
`DATE_UPD` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`PROD_ID`)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
file{Prop:SQL}='INSERT INTO...'
Вот в ФБ нет конструкции "default on update". В каких-то сценариях такая конструкция была бы полезна. Надо будет разработчиков попытать на этот счёт.
We are hard at work… for you.
file{Prop:SQL}='INSERT INTO...'
как то в конце 90-х попался шаблон от ковбоев про перенос приложения под sql из 5 шагов. В тот момент тестил мелкомягкую 7-ку. Пришлось кое-что допиливать в шаблон. Потом мучил эмбаркадеро еще разные вещи довнес. Периодически добавлялись создание view, обработка initial value, validity check, допиливание конверторов для переноса. Однобокая такая заточка под переезд на мелкомягкий sql. Если кого еще интересует эта тема - могу закинуть
file{Prop:SQL}='INSERT INTO...'
Если надо генерить GUID на сервере, то и генери, но просто вытаскивай его отдельно типа select newid() и записывай в поле первичного ключа в эмвэдэ "FieldPriming on Insert". Все будет работать в штатном режиме.
file{Prop:SQL}='INSERT INTO...'
если идет речь о мелкомягких, то я бы лучше оринтировался на Scope_Identity()