|
|
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Привет всем Гуру форума, помогите пожалуйста в написании тригерра. С SQL, Firebird 2.5 работаю совсем недавно, поэтому нужна ваша помощь Задача такая: даны две таблицы, если в первой происходит изменение одного значения, то необходимо автоматически внести это действие во вторую таблицу со следующими столбцами: 1.статус, 2.дата и 3.время...итд В триггере использую . . if (new.adresse<> old.adresse (это значения для сравнения из таблицы_1) ) then insert таблицa_2 (сам триггер относится к таблице_1) (здесь перечисляю параметры-> (status,date,time.... )) values (здесь ввожу непосредственно сами значения, н-р: new.status , current_date, current_time. ..) Проблема: как только вношу сами значения, то они не распознаются (new.status) .... помогите найди ошибку или подскажите как правильно и грамотно это нужно делать. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2014, 19:43 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
LessyПроблема: как только вношу сами значения, то они не распознаются (new.status) .... И что-же при этом так и говорит "они не распознаются" ps/ текст триггера покажи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2014, 20:11 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
научиться работать с NULL-ами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2014, 22:20 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
[/quot] И что-же при этом так и говорит "они не распознаются" [/quot] Да, так и говорит!))) AS begin if ((new.adresse<>old.adresse)) then begin insert into table2 (id,dev_id,date,time) values (gen_id(id,1), new.dev_id,current_date,current_time); end end Error: Column does not belong to referenced table Dynamic SQL Error. SQL Errorcode=-206. Column unknown. NEW.DEV_ID. Вот так выглядит Ошибка, подскажете, пожалуйста, как ее исправить. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 11:48 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevskyнаучиться работать с NULL-ами? Спасибо, за подсказку! можно ссылку, где я поподробнее о работе с NULL-aми могу почитать. (Много в интернете информации, но все как-то поверхностно...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 11:51 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy, не верю, что ты не нашел http://www.firebirdsql.org/manual/ru/nullguide-ru.html А еще бы неплохо про null почитать Дейта. Ну или о том, что он пишет про Null, хотя бы здесь http://citforum.ru/database/articles/nulls/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 11:58 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
LessyAS begin if ((new.adresse<>old.adresse)) then begin insert into table2 (id,dev_id,date,time) values (gen_id(id,1), new.dev_id,current_date,current_time); end end Error: Column does not belong to referenced table Dynamic SQL Error. SQL Errorcode=-206. Column unknown. NEW.DEV_ID. Вот так выглядит Ошибка, подскажете, пожалуйста, как ее исправить. В таблице (на которой "навешен" этот триггер) отсутствует поле DEV_ID зы. new и old используются только для доступа к значениям полей таблицы на которую "навешен" триггер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 12:26 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
kdv, Спасибо за ссылки!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 12:40 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
m7mВ таблице (на которой "навешен" этот триггер) отсутствует поле DEV_ID зы. new и old используются только для доступа к значениям полей таблицы на которую "навешен" триггер Ну теперь понятно! не понятно как грамотно написать такой триггер, который "навешан" на одну таблицу, а использовать old. new. частично для другой идей пока нет, так как и опыта тоже.... подскажите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 12:46 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy, нафига? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 12:51 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Симонов Денис нафига? ну как это, нафига, задача уже обозначена, надо реализовать!;-) во вторую таблицу должны записываться с помощью триггера некоторые данные (время, число и тд), если в первой поменялось значение в одном столбце (как в данном случае, например, адрес). Есть у кого нибудь идея? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:03 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy, старые данные из другой таблички тебе зачем? Тем более что они ещё не менялись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:20 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessyво вторую таблицу должны записываться с помощью триггера некоторые данные (время, число и тд), если в первой поменялось значение в одном столбце (как в данном случае, например, адрес). Есть у кого нибудь идея? Идея только одна Определить что это за " некоторые данные " и откуда они должны взяться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:29 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисLessy, старые данные из другой таблички тебе зачем? они и не нужны, нужны как раз только новые, еще раз мое задание, две таблицы, если в первой происходит изменение одного значения if (new.adresse<>old.adresse) то необходимо автоматически внести это действие во вторую таблицу со следующими столбцами: 1.статус, 2.дата и 3.время...итд then insert into (new.dev_id, bla bla)---- вот здесь во второй таблице уже и должны быть новые данные. кароч, если пользователь поменял что либо в главной таблице, я или другой пользователь заходим в таблицу_2 и видим, что и во сколько он это сделал (типо протокола) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:31 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy, И в частности для твоего примера кто такой dev_id , и откуда должно взяться его значение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:32 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessyспользовать old. new. частично для другойВ другой таблицы не может быть old new Данные из другой таблицы можно вычитать селектом, изменить апдейтом и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:33 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy, ddl таблиц выложи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:33 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy if (new.adresse<>old.adresse) не сработает, как ты ожидаешь, если один из операндов NULL см. выше про NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:35 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy, Lessyони и не нужны Значит, тебе не нужен new.dev_id - убери его. Lessyесли в первой происходит изменение одного значения if (new.adresse<>old.adresse) поэтому никаких других new.... и old... у тебя в триггере нет. у тебя в триггере есть только три типа переменных 1) общесистемные - типа CURRENT_USER 2) те, которые ты сам заведешь в процедуре триггера 3) столбцы твоей первой таблицы ( adresse и может быть другие ) с двуми префиксами, Old и new * dev_id не является обще-серверной переменной. * dev_id не является локальной переменной процедуры * dev_id - по твоим словам - не является столбцом таблицы твоего триггера. Значит внутри триггера такой переменной не существует. Какое значение тебе вставлять во вторую таблицу и откуда его брать - это ты решаешь сам, тут за тебя никто не угадает, что тебя надо и зачем и почему именно в этот столбец и именно это значение. Никто кроме тебя, никто из нас на эти вопросы ответить не можем, мы про это ничего не знаем, только ты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:40 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, это как раз работает без проблем, во-первых триггер навешан как раз на эту таблицу, во вторых адрес не может быть пуст NOT NULL, не работает заполнение второй таблицы, но уже понятно почему, так как триггер не "навешан" "некоторые данные" для m7m, я беру как раз из второй таблицы ( обновленные), то есть они перепысываются, а если они не обновились, то остаются старые, только меняется число изменений и дата ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:50 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessyадрес не может быть пуст NOT NULLDDL ты не приложил, нам угадывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:53 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyВ другой таблицы не может быть old new это уже понятно! Ivan_PisarevskyДанные из другой таблицы можно вычитать селектом, изменить апдейтом и т.п. А вот с этого места поподробней, как раз это мне и надо, вычитать из другой таблицы проверить на обновление и вставить в таблицу _2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:55 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy, это лабораторная? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 13:59 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Arioch, Большое спасибо за такой развернутый ответ, теперь все ясно, если не все то многое стало понятным! Arioch Значит, тебе не нужен new.dev_id - убери его. это как раз мне нужно! это попытка считать новое значение из второй таблицы и туда же его и записать AriochКакое значение тебе вставлять во вторую таблицу и откуда его брать - это ты решаешь сам, тут за тебя никто не угадает, что тебя надо и зачем и почему именно в этот столбец и именно это значение. Никто кроме тебя, никто из нас на эти вопросы ответить не можем, мы про это ничего не знаем, только ты. я прошу прощения, если мне толком не удалось объяснить задачу, разные данные из второй таблицы и нужно снова записать во вторую, даже если они не обновились, а если обнповились, то как считать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:08 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy"некоторые данные" для m7m, я беру как раз из второй таблицы ( обновленные), то есть они перепысываются, а если они не обновились, то остаются старые, только меняется число изменений и дата ну если можно как-то однозначно беру как раз из второй таблицы ( обновленные) кто есть вторая таблица ну и наверное первая таблица Если вторая таблица это та о которой я подумал то в примере нигде не видно что берешь из второй таблицы это что означает они перепысываются, а если они не обновились, то остаются старые, только меняется число изменений и дата вставляется новая запись, изменяется существующая запись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:10 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
МимопроходящийLessy, это лабораторная? Нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:13 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessyразные данные из второй таблицы и нужно снова записать во вторую, даже если они не обновились, а если обнповились, то как считать а как ты вообще читаешь данные из таблицы? вот забудь про свой триггер, и скажи, что ты делаешь, чтобы прочитать данные из таблицы "в общем" ? теперь осознай, что у твоего триггера "особые отношения" есть только и исключительно с первой таблицей. со второй, третьей и любой другой таблицей он работает на общих основаниях самиыми стандартными запросами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:14 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Hello, Lessy! You wrote on 5 ноября 2014 г. 14:15:07: LessyМимопроходящий> Lessy, это лабораторная? Нет контрольная? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:17 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessyразные данные из второй таблицы и нужно снова записать во вторую, даже если они не обновились, а если обнповились, то как считать позанудствую ну откуда "разные данные из второй таблицы и нужно снова записать во вторую" нет у тебя в триггере этого "разные данные из второй таблицы" их надо как-то определить, задать константами, прочитать откуда то,... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:17 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy, ты вообще идешь "от частного к общему", мне кажется, а это неправильно. Ты за деревьями потерял лес. для начала напиши себе на бумажке просто несколько тестовых вариантов, какие данные и на какие меняются. потому напиши в обычном SQL-редакторе самые обычные запросы, меняющие что тебе надо. и при этом пометь для себя, откуда эти запросы берут данные. а вот после этого уже думай как уже готовые запросы с минимальными изменениями засунуть внутрь триггера. Особенности триггера тебе нужно учитывать в самом конце, когда логику уже проработаешь и останется только применить специфику триггера. А изначально начинать думать о мелких особенностях триггеров, вместо общей логики изменения БД - ты сам себя загнал в тупик и запутался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:20 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
m7mLessy, И в частности для твоего примера кто такой dev_id , и откуда должно взяться его значение Это переменная, которая указывает, по какой причине поменяли данные в таблице_1, может принимать значения: "-", "1" и "2" если пользователь ввел "1" например, то это значение и надо записать в протокол, в данном случае в таблицу_2, а если пользоваель ничего не менял, то останется , например, "-", но его все равно надо записать в таблицу_2, даже если оно не поменялось, то есть столбец не может быть пустым, но данные всегда должны быть актуальными ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:24 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy, в сервере нет переменных в сервере есть только таблицы, в каждой таблице - много строк, в каждой строке - много столбцов. У одного и того же столбца - разные значения в разных строках (и даже в одной строке, но разных транзакциях). Так что всё-таки, что такое dev_id, где в базе данных она расположена ? Или у тебя в базе дданных ее вообще не сузществует, а только в программе? Тогда лучше всего меняй через stored procedures ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:27 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, И не надейся... надейся, что это какой-нибудь безопасный production, а не запуск ответно-встречного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:27 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy, какая нафиг переменная. Через new. и old. можно обращаться только к столбцам текущей (редактируемой) таблицы, накоторую собственно и повешен этот триггер. Остальные переменные пишутся без этих префиксов и должны быть объявлены в declare. Никому не понятно что ты хочешь. Может тебе нужны контекстные переменные, а может надо просто добавить этот столбец в таблицу_1. А может ты вообще страдаешь фигнёй и надо написать ХП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:28 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
m7mLessyразные данные из второй таблицы и нужно снова записать во вторую, даже если они не обновились, а если обнповились, то как считать позанудствую ну откуда "разные данные из второй таблицы и нужно снова записать во вторую" нет у тебя в триггере этого "разные данные из второй таблицы" их надо как-то определить, задать константами, прочитать откуда то,... Занудствуйте сколько угодно, так я и докапаюсь до истины! итак, Главная таблица "Клиенты" Другая таблица "действия пользователя" в таблице "действия пользователя" есть столбцы: "Число изменения" (увеличиваю генератором в триггере), "причина изменения данных в таблице_Клиенты", "дата", "время". если хоть в одном столбце в "Клиентах" что либо поменялось, то в таблицу "Действия пользователя" заполняются эти четыре столбца, надеюсь теперь более менее понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:36 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Hello, Lessy! You wrote on 5 ноября 2014 г. 14:37:09: Lessy> надеюсь теперь более менее понятно логи нужно не апдейтить, а инсёртить. без права удаления. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:38 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисLessy, А может ты вообще страдаешь фигнёй и надо написать ХП Ну спасибо, дорогой товарищ Я страдаю в данный момент SQL, Firebird 2.5, IBExpert! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:41 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисLessy, какая нафиг переменная. И действительно, какая нафиг переменная! это столбец в таблице "действия пользователя" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:47 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Arioch а как ты вообще читаешь данные из таблицы? вот забудь про свой триггер, и скажи, что ты делаешь, чтобы прочитать данные из таблицы "в общем" ? Понимаю теперь!!!!!!!!!!!! значит по отношению к не "навешанным", все стандартно! select * from "действия пользователя", потом Update и снова заинсертить! так? а как проверить на апдейт? и все это записать в триггер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:58 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
МимопроходящийHello, Lessy! You wrote on 5 ноября 2014 г. 14:15:07: Lessyпропущено... Нет контрольная? Нет, практика. P.S.Меня теперь не удивляет почему у Вас стоит 25506 сообщений))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 15:00 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Hello, Lessy! You wrote on 5 ноября 2014 г. 15:01:05: Lessy> а как проверить на апдейт? > и все это записать в триггер. шоб записать в ТРИГГЕР нужна недюжинная сила ума. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 15:02 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessy Это переменная, которая указывает, по какой причине поменяли данные в таблице_1, может принимать значения: "-", "1" и "2" если пользователь ввел "1" например, то это значение и надо записать в протокол, в данном случае в таблицу_2, а если пользоваель ничего не менял, то останется , например, "-", но его все равно надо записать в таблицу_2, даже если оно не поменялось, то есть столбец не может быть пустым, но данные всегда должны быть актуальными Куда он эти "-", "1" и "2" вводит? В какой столбец? Вот из него данные и бери и записывай в dev_id. И Мимопроходящий тебе правильно сказал. Будешь в триггерах апдейтить лог таблицу твоя система очень быстро встанет раком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 15:04 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Так, всем спасибо!!! надо все то что насоветовали, срочно применить, особенно недюжинную силу ума)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 15:10 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
МимопроходящийHello, Lessy! You wrote on 5 ноября 2014 г. 15:01:05: Lessy> а как проверить на апдейт? > и все это записать в триггер. шоб записать в ТРИГГЕР нужна недюжинная сила ума. Интересно получить название работодателя? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 15:18 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Симонов Денис Куда он эти "-", "1" и "2" вводит? В какой столбец? Вот из него данные и бери и записывай в dev_id. ООоооо, спасибо, сдивунлся груз с мертвой точки! а пример можно, пожалуйста Симонов ДенисИ Мимопроходящий тебе правильно сказал. Будешь в триггерах апдейтить лог таблицу твоя система очень быстро встанет раком. дык я всю дорогу и спрашиваю ГДЕ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 15:24 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
NikolayV81МимопроходящийHello, Lessy! You wrote on 5 ноября 2014 г. 15:01:05: пропущено... шоб записать в ТРИГГЕР нужна недюжинная сила ума. Интересно получить название работодателя? ;) ну я думаю, что если человек, видит в глаза SQL второй день и необходимо быстро вьехать в тему, то как зовут работодателя не имеет значения, а читать об этом толком времени нет, только по ночам, когда мозг отказывается принимать какую-либо информацию, как то так..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 15:29 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Всем спасибо огромное за ответы и за терпение!!! прошу понять и простить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 15:33 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
LessyNikolayV81пропущено... Интересно получить название работодателя? ;) ну я думаю, что если человек, видит в глаза SQL второй день и необходимо быстро вьехать в тему, то как зовут работодателя не имеет значения, а читать об этом толком времени нет, только по ночам, когда мозг отказывается принимать какую-либо информацию, как то так..... а причём тут SQL :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 15:36 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessyselect * from "действия пользователя", потом Update и снова заинсертить! так? и вот тут ты получаешь ВСЮ таблицу, все строки из "действия пользователя" у тебя шизофрния получается. 1. Кто-то изменяет таблицу "действия пользователя" 2. Кто-то изменяет таблицу-1 3. Таблица-1 изменяет "действия пользователя" ещё раз. В итоге у тебя изменения в "действия пользователя" приходят с двух сторон, а если не повезет с транзакциями, если ты их плохо контролируешь, - то еще и в обратном порядке. Стрёмная схема, честно говоря. Лучше - если действительно так надо - делай либо Stored Procedure (она же "хранимка", она же "ХП"), которая получив параметры от программы будет менять обе таблицы. Или делай на триггерах UPDATABLE VIEW, в котором будут все поля из таблицы-1 и кроме того поле dev_id и любые другие нужные поля из "действия пользователя". В общем, желательно централизовать все измнения в одном месте, чтобы потом не запутаться что откуда у тебя берется и что после чего выполняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 16:16 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessyдык я всю дорогу и спрашиваю ГДЕ??? просто люди снова отмечают твое косноязычие, из-за которого они ни хрена понять не могут. ты же написал, что ты записывать изменения хочешь не в таблицу "из треггера/в треггере", а что изменения ты хочешь писать в сам триггер, в его исходники. В общем, "у нас тут своя амосфера", take it or leave it. http://maddog.sitengine.ru/smart-question-ru.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 16:22 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessyесли человек, видит в глаза SQL второй день и необходимо быстро вьехать в тему то не нужно меня БД и переделывать работающую структуру. Сначала надо понатаскаться по SQL Хотя бы на уровне книжек для новичков типа "Delphi: руководство разработчика баз данных" и аналогичные вводные курсы для других языков. http://ibase.ru/develop.htm#books ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 16:25 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
из двух одно: либо ТС - блондинка, либо шотладская овчарка из одноимённого австралийского сериала. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 17:29 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Arioch 1. Кто-то изменяет таблицу "действия пользователя" 2. Кто-то изменяет таблицу-1 3. Таблица-1 изменяет "действия пользователя" ещё раз. только в другой последовательности: 1. сначала пользователь открывает таблицу 1 Клиенты, изменяет адрес клиента (н-р, в связи с переездом) закрывает 2.открывает таблицу_2 "действия пользователя" и вносит изменения (число, время и указывает причину, в данном случае " переехал") закрывает и все! А теперь пользователи обленились и хотят чтоб все было автоматически 1. изменил в Таблице_1 Клиенты тот же адрес например и закрыл ее.... 2 а вот тут и должен всю работу сделать триггер-> автоматически внести данные в таблицу_2 (число, время и причину) (в данном случае не указана причина "переехал", а прочерк, то и нужно все лишь таким же и оставить) Во время написания ответа наконец-то дошло, что это значение же уже естъ в таблице, зачем его еще раз писать туда, кароче из инсерта выкинуть вообще его надо Ну все! Спасибо!!! все работает уже! Постараюсь формулировать вопрос правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 17:37 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийиз двух одно: либо ТС - блондинка, либо шотладская овчарка из одноимённого австралийского сериала. axaxaxa, --ты в душе блондинка ? - а может я сейчас не в душе, а в ванной)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 17:42 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessyможет я сейчас не в душе, а в ваннойУмение посмеяться над собой немаловажно! Коллега, Вы делаете успехи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 17:45 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
AriochLessyесли человек, видит в глаза SQL второй день и необходимо быстро вьехать в тему то не нужно меня БД и переделывать работающую структуру. Сначала надо понатаскаться по SQL Хотя бы на уровне книжек для новичков типа "Delphi: руководство разработчика баз данных" и аналогичные вводные курсы для других языков. http://ibase.ru/develop.htm#books Спасибо за совет, но так и делаю, а на практике выходит совсем другая история, как в анекдоте есть три поручения первое срочное, второе очень срочное, а третье нужно сделать вчера! вот в перерывах и приходится читать, было бы достаточно время для изучения, в форум бы не пришлось обращаться;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 17:46 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
Lessyтолько в другой последовательности: 1. сначала пользователь открывает таблицу 1 Клиенты, изменяет адрес клиента (н-р, в связи с переездом) закрывает 2.открывает таблицу_2 "действия пользователя" и вносит изменения (число, время и указывает причину, в данном случае " переехал") закрывает и все! А теперь пользователи обленились и хотят чтоб все было автоматически 1. изменил в Таблице_1 Клиенты тот же адрес например и закрыл ее.... 2 а вот тут и должен всю работу сделать триггер-> автоматически внести данные в таблицу_2 (число, время и причину) (в данном случае не указана причина "переехал", а прочерк, то и нужно все лишь таким же и оставить) Во время написания ответа наконец-то дошло, что это значение же уже естъ в таблице, зачем его еще раз писать туда, кароче из инсерта выкинуть вообще его надо Ну все! Спасибо!!! все работает уже! Рано радуешься В таблице_2 будут сплошные записи с "прочерками" пункт 1 должен быть где-то вот таким 1. изменил в Таблице_1 Клиенты тот же адрес например, указал причину, и закрыл ее.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 17:54 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
в догонку, или на основании изменений в таблице_1 триггер должен сформировать причину ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 17:56 |
|
||
|
Триггер не распознает параметры из таблицы firebird 2.5
|
|||
|---|---|---|---|
|
#18+
m7mРано радуешься В таблице_2 будут сплошные записи с "прочерками" пункт 1 должен быть где-то вот таким 1. изменил в Таблице_1 Клиенты тот же адрес например, указал причину, и закрыл ее.... Да-да-да, все понятно уже и про прочерки и тд, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 17:58 |
|
||
|
|

start [/forum/topic.php?all=1&fid=40&tid=1563218]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 398ms |

| 0 / 0 |
