powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / oracle forms - пару вопросов
3 сообщений из 3, страница 1 из 1
oracle forms - пару вопросов
    #35964561
amiserio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброго времени суток.
потихоньку разбируюсь в формсах, стопарнулся на одной вещи:
ситуация такая - есть таблицы table1, table2
table1
(
Numb int NOT NULL,
Places_amount int,
Class varchar2(20) NOT NULL,
Price_overnight numeric(6,2),
CONSTRAINT pk_table1_Numb PRIMARY KEY (Numb),
CONSTRAINT check_places_amount CHECK (Places_amount > 0),
CONSTRAINT check_price_overnight CHECK (Price_overnight > 0)
);
table2
(
Floor int NOT NULL,
Numb int,
CONSTRAINT pk_table2_floor PRIMARY KEY (Floor),
CONSTRAINT fk_table2_Numb FOREIGN KEY (Numb)
REFERENCES table1 (Numb) ON DELETE CASCADE,
CONSTRAINT check_Numb CHECK (Numb > 0)
);

table1 является главной таблицей, table2 - словарём к ней.
мне нужно взять из table1 все атрибуты и ещё дополнительно вывести атрибут Floor из table2 с условием where table1.Numb=table2.Numb

создаю нужные поля, создаю Data Block, указываю в качестве Query Data Sourse Type - Table,
Query Data Sourse Name - table1,table2
WHERE Clause - table1.Numb=table2.Numb
ORDER BY Clause - table1.Numb
но так не катит, т.к. в select форма дописывает ещё и ROWID и не может выбрать к какой из двух таблиц, а как его убрать из селекта или изменить на table1.ROWID я не знаю.
формой генерируется:
SELECT ROWID, table1.Numb,table1.Places_amount,table2.Floor,table1.Class,table1.Price_overnight FROM table1, table1 WHERE table2.Numb=table1.Numb order by table1.Numb

как организовать сохранение данных введённых в поля и поиск с выводом результатов в теже поля в данном случае? использовать view для селекта и триггер с 2-мя инсертами, собранными из полей для инсерта? или же можно както попроще?
...
Рейтинг: 0 / 0
oracle forms - пару вопросов
    #35964845
OASer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Давно с формами дело не имею, но вроде по умолчанию Oracle Forms использует ROWID для обработки блокировок и обновлений строк. Поскольку в данном случае блок строится на соединении нескольких таблиц, то использование ROWID в данном случае невозможно, поэтому для уникальной идентификации строк в главной таблице необходимо использовать ее первичный ключ. Откройте палитру свойств для элемента NUMB в блоке и проверьте, установленно ли свойство Primary Key в разделе Database в значение Yes, и если не установленно, то установите его в значение Yes.
...
Рейтинг: 0 / 0
oracle forms - пару вопросов
    #35964884
amiserio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OASerДавно с формами дело не имею, но вроде по умолчанию Oracle Forms использует ROWID для обработки блокировок и обновлений строк. Поскольку в данном случае блок строится на соединении нескольких таблиц, то использование ROWID в данном случае невозможно, поэтому для уникальной идентификации строк в главной таблице необходимо использовать ее первичный ключ. Откройте палитру свойств для элемента NUMB в блоке и проверьте, установленно ли свойство Primary Key в разделе Database в значение Yes, и если не установленно, то установите его в значение Yes.
спасибо за ответ.
был уже установлен на yes, решил проблему с поиском созданием view с обьединением двух таблиц по атрибуту Numb. и собсно выставил всё по 1 таблице, теперь думаю как же теперь инсёртить апдейтить и делитить:)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / oracle forms - пару вопросов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]