|
|
|
Relations между таблицами...
|
|||
|---|---|---|---|
|
#18+
Вопрос такой. С помощью функции ADBOBJECTS() можно получить информацию об связях между таблицами в базе данных. В том числе и информацию о действиях при удаленнии, обновлении и добавлении записей. Подскажите пожалуйста как при создании таблиц программным путем(CREATE TABLE ил ALTER TABLE) можно задать эти свойства отношений между таблицами. Или может быть есть какие функции для реализации этого? Нужно именно программным путем, не с помощью мастеров и прочего. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 07:46 |
|
||
|
Relations между таблицами...
|
|||
|---|---|---|---|
|
#18+
s@ilor...Подскажите пожалуйста как при создании таблиц программным путем(CREATE TABLE ил ALTER TABLE) можно задать эти свойства отношений между таблицами. Или может быть есть какие функции для реализации этого? Нужно именно программным путем, не с помощью мастеров и прочего. Заранее спасибо!См. Help по команде SET RELATION Command: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 08:44 |
|
||
|
Relations между таблицами...
|
|||
|---|---|---|---|
|
#18+
Владимир САСм. Help по команде SET RELATION Command: Нет, set relation создает т.с. "визуализацию" связей, которая не несёт за собой никаких последствий для данных. s@ilor Подскажите пожалуйста как при создании таблиц программным путем(CREATE TABLE ил ALTER TABLE) можно задать эти свойства отношений между таблицами. В хелпе написано, Код: plaintext 1. 2. 3. 4. 5. Здесь есть небольшой пример http://forum.foxclub.ru/read.php?29,180541,180541#msg-180541 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 09:05 |
|
||
|
Relations между таблицами...
|
|||
|---|---|---|---|
|
#18+
Прочитал всю справку вдоль и поперек. Ничего про Rules on Update, Delete and Insert там не нашел :(. Да и примеры в справке какие-то дряхлые. Если есть какой-нить пример кода, скиньте пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 09:20 |
|
||
|
Relations между таблицами...
|
|||
|---|---|---|---|
|
#18+
PaulWistНет, set relation создает т.с. "визуализацию" связей, которая не несёт за собой никаких последствий для данных. s@ilor Подскажите пожалуйста как при создании таблиц программным путем(CREATE TABLE ил ALTER TABLE) можно задать эти свойства отношений между таблицами. В хелпе написано, Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 09:22 |
|
||
|
Relations между таблицами...
|
|||
|---|---|---|---|
|
#18+
s@ilorПрочитал всю справку вдоль и поперек. Ничего про Rules on Update, Delete and Insert там не нашел :(. Да и примеры в справке какие-то дряхлые. Если есть какой-нить пример кода, скиньте пожалуйста. Надо смотреть CREATE TRIGGER, именно они создают правила ссылочной целостности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 09:32 |
|
||
|
Relations между таблицами...
|
|||
|---|---|---|---|
|
#18+
Триггеры - это немного другое. Триггер действует в пределах таблицы, а мне нужно установить эти свойства для связей между таблицами, то есть, например, при удалении связанной записи может быть установлено одно из следующих правил - Restrict, Cascade или Ignore. Это в Фоксе может быть установлено, если кликнуть по "линии" связи в Database Designer и выбрать Referential Integrity Builder. Но это делается мышью :). А мне надо как это сделать программно можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 12:28 |
|
||
|
Relations между таблицами...
|
|||
|---|---|---|---|
|
#18+
use dd1.dbc again 1 байт в поле riinfo I R C ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 13:08 |
|
||
|
Relations между таблицами...
|
|||
|---|---|---|---|
|
#18+
Почитай http://www.foxclub.ru/articles/index.php?id=37 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 13:15 |
|
||
|
Relations между таблицами...
|
|||
|---|---|---|---|
|
#18+
PaulWistПочитай http://www.foxclub.ru/articles/index.php?id=37 Спасибо теперь более понятно стало. Если для этого используется триггер, но вот создается он самим ФоксПро. Мне не нужно писать каккой-то свой собственный триггер при вставке, удалении или обновлении. Просто мне бы узнать как можно создать "стандартный" триггер, который создается системой при использовании Referential Integrity Builder. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 13:57 |
|
||
|
Relations между таблицами...
|
|||
|---|---|---|---|
|
#18+
Вместе с FoxPro поставляется утилита (программа) GenDBC.prg Эта утилита формирует на основе существующей базы данных файл PRG, который содержит программный код генерации структуры указанной базы данных. Создай тестовую базу данных из 2 таблиц (пустых), настрой между этими таблицами связь, а затем "натрави" на нее эту утилиту. Т.е. прямо в командном окне дай команду Код: plaintext На первом шаге эта утилита предложит указать базу данных, на втором - имя файла PRG в который будет записан код создания структуры этой базы данных. Далее открываешь на модификацию полученный файл PRG и смотришь какими командами и что было сделано. "Стандартный" триггер создается с помощью приложения Builder.app, которое лежит в корневой директории FoxPro. Исходный код этого приложения написан также на FoxPro и его можно посмотреть в архиве в папаке Home()+"Tools\XSource\xsource.zip" Раскрой этот архив и посмотри в нем проект RIBuildr.pjx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 14:14 |
|
||
|
Relations между таблицами...
|
|||
|---|---|---|---|
|
#18+
ВладимирМ FoxPro делает это очень просто, оказывается. Просто меняет значение поля riinfo в главной таблице, где и прописаны эти свойства. Была мысль делать тоже самое, но думал есть какой-то "цивилизованный" способ :). Вот кусок сгенерированного кода для Northwind: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Спасибо большое, очень помогли! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 15:11 |
|
||
|
|

start [/forum/topic.php?fid=41&tid=1590891]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
142ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 447ms |

| 0 / 0 |
