|
Триггер на DELETE
|
|||
---|---|---|---|
#18+
Здравствуйте! Я создаю базу вот такого вида : myDB.execSQL("CREATE TABLE IF NOT EXISTS " + categories + " (category_id PRIMARY KEY,parent_id INT,name text,type boolean,FOREIGN KEY(parent_id) REFERENCES categories(category_id));"); myDB.execSQL("CREATE TABLE IF NOT EXISTS " + accounts + " (account_id PRIMARY KEY , name text);"); myDB.execSQL("CREATE TABLE IF NOT EXISTS " + tranzactions +"(transaction_id primary key ,account_id int,category_id int,t_date date,amount float," +"FOREIGN KEY(account_id) REFERENCES accounts(account_id),FOREIGN KEY(category_id) REFERENCES categories(category_id));"); Теперь хочу написать триггер, который при удалении поля в categories, удалял при этом все поля в таблицы tranzaction , где поля в catagory id такие же, которые удаляются..Спасибо.. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 18:16 |
|
Триггер на DELETE
|
|||
---|---|---|---|
#18+
Прочитай это: http://www.sql.ru/faq/faq_topic.aspx?fid=202 Триггер не нужен. Нужно при объявлении внешнего ключа указать on delete cascade . Подробнее читай букварь: http://www.sqlite.org/foreignkeys.html ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 18:59 |
|
Триггер на DELETE
|
|||
---|---|---|---|
#18+
qpile проблема Foreign key в SQLITE Вам дали ссылку на документацию, а вы что сделали? Вместо того, чтобы прочитать, выкопали статью 2005-го года, когда обсуждаемая функциональность не поддерживалась. Еще бы на Слово о полке Игореве сослались, когда компьютеров в помине не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 21:46 |
|
Триггер на DELETE
|
|||
---|---|---|---|
#18+
Я пишу под Андроид..Там версия 3,5,9 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 22:13 |
|
Триггер на DELETE
|
|||
---|---|---|---|
#18+
Мда... Тогда вот примеры, выдернул кусок из одного проекта. Здесь все запросы обращаются к view, триггеры на которых и реализуют всю необходимую логику. Если вы напрямую к таблицам обращаетесь, не используйте "instead of", а делайте триггеры "before" или "after". Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2010, 22:58 |
|
Триггер на DELETE
|
|||
---|---|---|---|
#18+
qpile, для включения FOREIGN KEY нужно после подключения к бд выполнить запрос Код: plsql 1.
http://www.sqlite.org/pragma.html#pragma_foreign_keys ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2013, 12:02 |
|
|
start [/forum/topic.php?fid=54&msg=36545548&tid=2008904]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 274ms |
total: | 404ms |
0 / 0 |