|
|
|
Как хранить тип объекта и его значение в разных колонках
|
|||
|---|---|---|---|
|
#18+
Добрый день, есть таблица настроек прайса поставщика для автоматической загрузки. Изначально планировалось, что настроек будет определенное кол-во и изменяться оно будет крайне редко, потому на каждую настройку была выделена отдельная колонка в базе. Но на практике вышло, что настройки меняются каждую неделю, а то и чаще, и нет времени постоянно менять структуру базы, процедуры и т.д. Хочется сделать таблицу типа: Код: sql 1. 2. 3. 4. 5. 6. 7. Не сталкивалась никогда, как эту таблицу сделать средствами БД? Каким типом сделать столбец DBValue? И нужен некий справочник DBTypes (Id, Value) С типами. Как в нем хранить Value(в каком типе), чтоб после легко было в некой процедуре сделать приведение SupplierSettings.DBValue к этому типу? Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2016, 10:27 |
|
||
|
Как хранить тип объекта и его значение в разных колонках
|
|||
|---|---|---|---|
|
#18+
Тэй, в M$Sql есть тип Variant [i.e. sql_variant] -- именно в M$Sql 2 столбца не нужно. в Postgres можно value класть в text, опираясь на то, что каст в text определен для всех типов. Но для блобов это будет дороговато (по дефолту там в ескейп представление будет кастится) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2016, 11:14 |
|
||
|
Как хранить тип объекта и его значение в разных колонках
|
|||
|---|---|---|---|
|
#18+
ээээ, MSDN говорит, что При обработке типа sql_variant SQL Server поддерживает неявное преобразование объектов других типов данных в тип sql_variant. Но SQL Server не поддерживает неявные преобразования типа sql_variant в объекты с другим типом данных. То есть все равно надо где-то знать, в какой тип надо приобразовать и делать это явным преобразованием ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2016, 11:26 |
|
||
|
Как хранить тип объекта и его значение в разных колонках
|
|||
|---|---|---|---|
|
#18+
[quot ТэйДобрый день, есть таблица настроек прайса поставщика для автоматической загрузки. Изначально планировалось, что настроек будет определенное кол-во и изменяться оно будет крайне редко, потому на каждую настройку была выделена отдельная колонка в базе. Но на практике вышло, что настройки меняются каждую неделю, а то и чаще, и нет времени постоянно менять структуру базы, процедуры и т.д. Поздравляю, дружище, с нарушением первой НФ! Оно никогда не проходит даром теперь наслаждайся! Хочется сделать таблицу типа: Код: sql 1. 2. 3. 4. 5. 6. 7. Не сталкивалась никогда, как эту таблицу сделать средствами БД? Каким типом сделать столбец DBValue? Да все очень просто, сделай 5 -10таблиц, по одной на каждый потенциальный тип данных. Для любой СУБД подойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2016, 21:27 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=39174994&tid=1540389]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 140ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...