|
sqlite trigger дата
|
|||
---|---|---|---|
#18+
Доброго времени суток! Пытаюсь написать триггер который бы добавлял в таблицу значения взяты и модифицированные из другой таблицы. Конкретнее, не получается изменить дату... Код у меня вот такой... INSERT INTO tbl_credinfo VALUES (new.id, strftime('%Y-%m-%d',new.dayofpayprimary,'1 month' ),63000,59000,860,4000); Хочу сделать, козалось бы простую вещь, взять дату из одной таблицы, добавить к ней один месяц и вставить в другую, но не получается... Помогите пожалуйста, подскажите что я делаю не так.... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 12:02 |
|
sqlite trigger дата
|
|||
---|---|---|---|
#18+
Как-то так: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 16:45 |
|
sqlite trigger дата
|
|||
---|---|---|---|
#18+
new - это не таблица... Я пишу триггер... Вот весь код... CREATE TRIGGER [credit_trigger] AFTER INSERT ON [tbl_credid] FOR EACH ROW BEGIN INSERT INTO tbl_credinfo VALUES (new.id,strftime('%Y-%m-%d',new.dayofpayprimary,'1 month'),63000,59000,860,4000); END ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 03:09 |
|
sqlite trigger дата
|
|||
---|---|---|---|
#18+
к сожалению, не получается правильно выполнить даже следующий запрос... INSERT INTO tbl_credinfo VALUES (new.id,new.dayofpayprimary,63000,59000,860,4000); при этом значение поля id из одной таблицы в другую переносится без проблем, а вот с датой выходит какой то косяк... Значение во второй таблице остается пустым... Типы данных в рабочих столбцах двух таблиц одинаковые... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 03:47 |
|
sqlite trigger дата
|
|||
---|---|---|---|
#18+
jaguar_sea, вы вообще читать-то умеете? Где вы взяли, что инструкция: INSERT INTO tbl_credinfo VALUES (new.id,strftime('%Y-%m-%d',new.dayofpayprimary,' 1 month '),63000,59000,860,4000); будет прибавлять один месяц, если в официальной документации указано, что нужно прибавлять месяц так: ...strftime('%Y-%m-%d',new.dayofpayprimary,' + 1 month s ')... Что вы хотите добиться от приведенного триггера, что бы он каждый раз добавлял к уже ранее добавленным данным все данные из одной таблицы в другую либо только новые данные? Если только новые, то можно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 11:20 |
|
sqlite trigger дата
|
|||
---|---|---|---|
#18+
Не понимаю почему вы из new делаете таблицу... Вот мои таблицы. CREATE TABLE [tbl_credid] ([id] INTEGER PRIMARY KEY NOT NULL,[nameofcred] TEXT NULL,[principaldebt] REAL NULL,[dayofpayprimary] DATE NULL,[interest] REAL NULL) CREATE TABLE [tbl_credinfo] ([idcred] INTEGER NULL,[dayofpay] date NULL,[residue_before] real NULL,[residue_after] real NULL,[interest] REAL NULL,[payment] REAL NULL,[days] INTEGER NULL) А вот триггер. CREATE TRIGGER [credit_trigger] AFTER INSERT ON [tbl_credid] FOR EACH ROW BEGIN INSERT INTO tbl_credinfo VALUES (new.id,strftime('%Y-%m-%d',new.dayofpayprimary,'+1 months'),63000,59000,860,4000,31); END А что касается "+", проверял на strftime('%Y-%m-%d','2011-03-08','1 months') значение спокойно увеличивается... Я же говорю дело именно в new.dayofpayprimary. Вот с ним как раз я и не пойму что не так... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 03:34 |
|
sqlite trigger дата
|
|||
---|---|---|---|
#18+
jaguar_seaНе понимаю почему вы из new делаете таблицу... jaguar_sea, это лишь пример, показывающий как решить вашу задачу, название таблиц примерное, но видимо вы либо не понимаете либо не хотите понимать. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 10:36 |
|
sqlite trigger дата
|
|||
---|---|---|---|
#18+
Кстати, вы сами указали, что у вас есть таблица new: jaguar_sea ...INSERT INTO tbl_credinfo VALUES ( new.id ,strftime('%Y-%m-%d', new .dayofpayprimary,'1 month'),63000,59000,860,4000).... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 10:41 |
|
sqlite trigger дата
|
|||
---|---|---|---|
#18+
Если же вы хотите использовать в треггере "NEW.column" и "OLD.column", тогда нужно в самом триггере писать условия: Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 10:52 |
|
|
start [/forum/topic.php?fid=54&msg=37193508&tid=2009204]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 157ms |
0 / 0 |