powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите правильно использовать DB2.
12 сообщений из 12, страница 1 из 1
Помогите правильно использовать DB2.
    #32561584
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем!

Есть у меня такая структура БД.

6 таблиц.

1. TObject ( idObject BIGINT , name CHAR (254))
2. TProperties ( idProperty BIGINT , name CHAR (254) , type CHAR (254))
3. TType1Values ( idType1 BIGINT , value FLOAT )
4. TType2Values ( idType2 BIGINT , value CHAR (254) )
5. TType3Values ( idType3 BIGINT , value LONG VARCHAR )
6. TObjectProperties ( idObject BIGINT , idProperty BIGINT, idValue BIGINT)


В таблице TObjectProperties
idObject->TObject.idObject
idProperty->TProperties.idProperty
idValue ( в зависимости от значения TProperties.type )
idValue->TType1Values.idType1 или
idValue->TType2Values.idType2 или
idValue->TType3Values.idType3 или
просто значение BIGINT


Вопрос.
Какие функциональные елементы DB2 посоветуете розработать (SP , VIEW , FUNCTION ....)
чтобы быстро, правильно и легко работать с такой структурой (INSERT, UPDATE, DELETE, SELECT).

Буду рад любым предложениям.
Заранее преблагодарен.
...
Рейтинг: 0 / 0
Помогите правильно использовать DB2.
    #32565192
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неужели нету ни одной доброй души мне помочь?
Или ето такая тяжелая задача?
Или наоборот очень простая?
...
Рейтинг: 0 / 0
Помогите правильно использовать DB2.
    #32565214
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Например, я могу написать такой VIEW
чтобы потом используя его

Код: plaintext
1.
2.
3.
INSERT INTO TestVIEW ( Objectname , Propertyname  , type  , value ) VALUES (
 'testobject' , 'testproperty' , 'Type3' , 'test long varchar value'
)

заполнялись TObject с уникальним idObject и TProperties с idProperty ....

Если да, то хотябы приблизительно подскажите где копать ?
...
Рейтинг: 0 / 0
Помогите правильно использовать DB2.
    #32565283
Psy_Db2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну там еще можно просто зайти в утилитки там разные такие и наделать всеких нищтяков пользователям а если сильно извратнуться поставить IBM QMF так там еще и отчетиков можно понаклепать разных полезных
и говарить что это все нужные фишки и пусти их все секут и юзают
а то прям обидно становить
...
Рейтинг: 0 / 0
Помогите правильно использовать DB2.
    #32565317
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
Okram: you see, it's a question of design, and as everything in design it depends... It depends from a lot of things, and your task is the primary (like what for it is all, what business task it carries) and so on, and so force...
IMHO
...
Рейтинг: 0 / 0
Помогите правильно использовать DB2.
    #32571067
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое за советы, я обезательно их запомню и больше никогда не буду задавать таких вопросов!!!
...
Рейтинг: 0 / 0
Помогите правильно использовать DB2.
    #32571097
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
you are welcome.
...
Рейтинг: 0 / 0
Помогите правильно использовать DB2.
    #32594145
ike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ike
Гость
OkramНапример, я могу написать такой VIEW
чтобы потом используя его

Код: plaintext
1.
2.
3.
INSERT INTO TestVIEW ( Objectname , Propertyname  , type  , value ) VALUES (
 'testobject' , 'testproperty' , 'Type3' , 'test long varchar value'
)

заполнялись TObject с уникальним idObject и TProperties с idProperty ....

Если да, то хотябы приблизительно подскажите где копать ?

При вставке зависит от того, как уникальные ид генерить. Я обычно делаю их через sequense:

create sequence seq_nsi
start with 1
increment by 1
no maxvalue
no cycle
cache 20;

А дальше пишешь в процедуре:

insert into .... (id1, id2, .....)
values
(nextval for seq_nsi, nextval for seq_nsi, ....)
если нужно узнать, что за значения сгенерились, то
set var_name = prevval for seq_nsi

Вот. Генерить можно и из триггера не перед вставкой.
...
Рейтинг: 0 / 0
Помогите правильно использовать DB2.
    #32594156
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
starting from v8.1.4 it's possible to use SELECT FROM INSERT to know inserted values.
Useful, and simpler/safer then getting prevval.
...
Рейтинг: 0 / 0
Помогите правильно использовать DB2.
    #32594206
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ike
При вставке зависит от того, как уникальные ид генерить. Я обычно делаю их через sequense:

create sequence seq_nsi
start with 1
increment by 1
no maxvalue
no cycle
cache 20;

А дальше пишешь в процедуре:

insert into .... (id1, id2, .....)
values
(nextval for seq_nsi, nextval for seq_nsi, ....)
если нужно узнать, что за значения сгенерились, то
set var_name = prevval for seq_nsi

Вот. Генерить можно и из триггера не перед вставкой.

спасибо за ответ,
я так и делаю, но скорость меня неудовлетворяет:(
...
Рейтинг: 0 / 0
Помогите правильно использовать DB2.
    #32594349
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Записи (если нужно вставить большое число) надо вставлять пачками (напр., в CLI есть функции, работающие с массивами). ID для них тоже можно получать пачками (например, установив большой шаг приращения sequence и использовав промежуточные номера: create sequence seq_nsi start with 1
increment by 100 no maxvalue no cycle cache 200; и, получив 100, использовать 100,101,102...199; или increment by 1 и рекурсивный запрос)
...
Рейтинг: 0 / 0
Помогите правильно использовать DB2.
    #32594905
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ето просто зделать если одна талица, а если надо сразу в 10 ето уже посложнее:-(
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите правильно использовать DB2.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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