2013-06-06 4 views
0

Использование IBM WebSphere Transformation Extender ...IBM WTX Pass DB PK, как FK отделить таблицу

Я работаю над сценарием, где есть родитель/потомок и входные данные, и я хочу, чтобы утверждать, что родитель/child в двух таблицах базы данных. Данные похож на это:

Родитель/Индикатор Child, Fname, Lname, Возраст

P-Боб Смит, 32
C-Салли Смит, 4
C-Томми Смит, 6
P-Крис, Гомес, 65
C-Anna, Гомес, 32

Я хочу поставить все родитель в их собственной таблице БД и ребенок в отдельной таблице.

Моей мыслью о том, как это сделать, было бы создание функциональной карты для родительских строк, захвата ее данных (вместе с автоматически созданным первичным ключом db) и вставки в родительскую таблицу. Затем в пределах этой функциональной карты я создам другую функциональную карту для каждой дочерней строки и передаю PK из родительской таблицы, чтобы установить связь между двумя таблицами.

Это правильный подход для реляционной базы данных? Если это так, я не могу заставить его работать правильно, потому что я не могу изменить выходные карты внутри вложенных функциональных карт, чтобы указать на правую таблицу db и правильно вставить. Любой человек с любыми мыслями в этой ситуации будет очень благодарен. Спасибо.

+0

Этот вопрос может быть более подходящим для dba.stackexchange.com –

+0

Это специфичное для проведения переменных между вложенными функциональными картами в WTX; Я не думаю, что форум dba будет знать ответ на этот вопрос, поскольку он специфичен для приложения. К сожалению, WTX - это больше нишевого продукта ... просто надеюсь, что я найду того, кто сделал что-то подобное. Благодарю. –

ответ

0

Вы можете выполнить привязку данных к дереву типов, который его читает.

Предположим, что ваш пример, ваш тип дерева может быть что-то вроде:

Family (Group)[0:S](
    Parent (Group)(Initiator P, Fname text, Lname text, Age number)[1] 
    Child (Group)(Initiator C, Fname text, Lname text, Age number)[1:S] 
) 

Затем вы можете легко обрабатывать каждый член семьи на функциональной карте, как:

=F_LoadFamily(Family, DBLOOKUP(get auto primary key)) 

Внутри функциональной карты у вас есть несколько вариантов:

  • Вызовите одну хранимую процедуру, которая будет делать вставки на соответствующей таблице s зависит, если это родитель или ребенок.
  • Вызова другой функциональной карты в зависимости от записи, которую вы хотите вставить

т.д.

Смежные вопросы