Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.03.2006, 15:44
day day вне форума
Прохожий
 
Регистрация: 14.11.2005
Сообщения: 10
Репутация: 10
Счастье Реализация процесса копирования

Пишу дипломную с помощью Interbase Как вам такая реализация БД
Есть таблица UHETMASHIN в которой бухгалтер вставляет все
записи о партий импортированных машин, также есть подчиненная
таблица MASHINA (которая будет связана посредством триггера,
потому что если на табл делаещь Constraint Foreign key невозможно
реализовать какие либо триггера на эту табл). Есть также таблица SKLAD
в которой как вы заметили дублируется информация из двух таблиц,
что совершенно противоречит теорий нормализаций БД, но такова логика
моей БД. Все бы отлично, но есть проблема. Нужно чтобы в SKLAD копировалась
некоторая информация из таблицы UHETMASHIN (а именно, AKTPRIEMKI),
и из табл MASHIN (а именно,MARKA ,KOLVO , PREIS, PRIM, FOTO). Попробовал с помощью
триггера After Delete, но он выдае ошибку, что программа не может выполнится так
как входные параметры не соответствуют выходным ,
то есть если копируещь данные с помощью After Delete, то таблицы по структуре
должны быть соверщенно одинаковы, вопрос как организовать
такое копирование отдельных полей?

CREATE TABLE UHETMASHIN // таблица учета Импортированных машин
(KOD INTEGER NOT NULL, // ключ таблицы
DATAPRIEMKI DATE DEFAULT 'Now', // дата приемки машин
DEKLAR BLOB SUB_TYPE 1 SEGMENT SIZE 120, //Таможенные деклараций
PREISALL DOUBLE PRECISION, //Вся цена импортированных машин(партий)
ZAKTK BLOB SUB_TYPE 1 SEGMENT SIZE 120, // Заключение технической коммиссий
AKTPRIEMKI BLOB SUB_TYPE 1 SEGMENT SIZE 120, // Акт приемки-передачи
NDS COMPUTED BY (PreisAll*0.16), //НДС
AKZIZ COMPUTED BY (PreisAll*0.2), //Акциз
PRIM VARCHAR(30), // поле для примечания
KOLVO INTEGER, // кол-во
SUMMA COMPUTED BY (PREISALL*KOLVO)); // Сумма



CREATE TABLE MASHINA // таблица Машин
(KODM INTEGER NOT NULL, // код машины
KODUM INTEGER NOT NULL, // код учета машин будет связано между таблицей UHETMASHIN посредством триггера, а не с помошью Constraint Foreign key
MARKA VARCHAR(50), // марка машины
PREIS DOUBLE PRECISION, // Цена каждой машины
PRIM VARCHAR(20), // поле для примечания
FOTO BLOB SUB_TYPE 0 SEGMENT SIZE 80); // фото машины



CREATE TABLE SKLAD //таблица склада машин
( KODS INTEGER NOT NULL, // ключ
AKTPRIEMKI BLOB SUB_TYPE 1 SEGMENT SIZE 80, // акт-приемки дублируется с табл UHETMASHIN
KOLVO INTEGER, // кол-во машин дублируется с табл MASHINА
MARKA VARCHAR(50), //марка машины дублируется с табл MASHINА
PREIS DOUBLE PRECISION, // Цена отдельной машины дублируется с табл MASHINА
PRIM VARCHAR(20), //поле примечания дублируется с табл MASHINА
FOTO BLOB SUB_TYPE 0 SEGMENT SIZE 80); // фото машины дублируется с табл MASHINА

Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:35.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter