Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
27.05.2016, 10:36
|
|||
---|---|---|---|
Копирование записей. |
|||
#18+
Доброго дня и хорошей пятницы уважаемые гуру "ЖарПтицеводы" )) Подобной темы не нашел, поэтому постараюсь правильно описасть суть решения которое хотелось бы получить. Есть таблица с 50 полями но в дальнейчем число полей будет меняться, в ней присутствуют PI и FK ключами. Хочу сделать копиию одной из записи данной таблицы но при изменить всего лишь 3 поля. И самое сложное сделать это с динамически изменющимся количеством полей. Никто не сталкивался с подобной задачей в ХП или триггерах, если сталкивались то прошу поделиться опытом. Таблица: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 10:48
|
|||
---|---|---|---|
|
|||
Копирование записей. |
|||
#18+
Hello, Drodman! You wrote on 27 мая 2016 г. 10:47:58: Drodman> самое сложное сделать это с динамически изменющимся количеством полей ну так и формируй запрос динамически. если внутри процедуры, или триггера, то выполняй его через EXECUTE STATEMENT Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 10:57
|
|||
---|---|---|---|
Копирование записей. |
|||
#18+
Я прошу прощения просто не совсем доконца понимаю. Если не сложно подправьте в случае надобности. т.е. мне нужно сделать примерно такую процедуру: Код: plsql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 11:05
|
|||
---|---|---|---|
|
|||
Копирование записей. |
|||
#18+
drodman, нет конечно. EXECUTE STATEMENT это отдельный оператор, его нельзя включать в DML инструкции. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 11:05
|
|||
---|---|---|---|
|
|||
Копирование записей. |
|||
#18+
нет уж. дальше сам. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 11:07
|
|||
---|---|---|---|
Копирование записей. |
|||
#18+
Большое спасибо. Очень помогли. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 11:26
|
|||
---|---|---|---|
Копирование записей. |
|||
#18+
drodman, в общих чертах это делается так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 11:52
|
|||
---|---|---|---|
Копирование записей. |
|||
#18+
rdb_dev, Огромное спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 11:59
|
|||
---|---|---|---|
|
|||
Копирование записей. |
|||
#18+
drodmanЕсть таблица с 50 полями но в дальнейчем число полей будет меняться. Хочу сделать копиию одной из записи данной таблицы но при изменить всего лишь 3 поля. И самое сложное сделать это с динамически изменющимся количеством полей. И что в этом сложного? Тот, кто меняет количество полей, пусть меняет и процедуру копирования. PS: Предлагать нанять архитектора БД чтобы спроектировал нормальную базу вместо этого ....... - не буду. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 12:03
|
|||
---|---|---|---|
Копирование записей. |
|||
#18+
drodman FIELD1 VARCHAR(15) CHARACTER SET WIN1251, комментарий в сторону. Обычно при экспорте ddl из какой-нибудь тулзы (isql, ibexpert), набор символов для строковых столбцов выводится только в том случае, если он отличается от дефолтного для БД. Следовательно, у вас в rdb$database.rdb$character_set_name может быть пусто, и при случайном коннекте без win1251 и создании таблиц или добавлении столбцов строковые столбцы создадутся в этом самом чарсете, т.е. none (или не win1251). Рекомендую проверить эту ситуацию, и исправить. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 16:02
|
|||
---|---|---|---|
Копирование записей. |
|||
#18+
kdv, спасибо, да дейстивтельно база лежит на сервере unix с кодировкой UTF-8, поэтому приходится в "тулзах" прописывать кодировку. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 16:04
|
|||
---|---|---|---|
|
|||
Копирование записей. |
|||
#18+
drodmanбаза лежит на сервере unix с кодировкой UTF-8, поэтому приходится в "тулзах" прописывать кодировку. "Аффтар жжот!" (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 17:26
|
|||
---|---|---|---|
|
|||
Копирование записей. |
|||
#18+
drodmanбаза лежит на сервере unix с кодировкой UTF-8, поэтому приходится CHARACTER SET WIN1251Отгоните от сервера диверсанта, пока он все не переломал. ТАК делать не надо. Если твоя клиентская часть в силу своей древности не понимает юникод, то укажи в строке коннекта, что ты хочешь получать вин1251, сервер тебе перекодирует, когда будет отдавать твоему клиенту данные. Делать пол базы в юникоде, половину в вин1251 в буквальном смысле "выстрел себе в ногу". ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2016, 17:29
|
|||
---|---|---|---|
|
|||
Копирование записей. |
|||
#18+
Ivan_PisarevskyДелать пол базы в юникоде, половину в вин1251 в буквальном смысле "выстрел себе в ногу". Да в общем-то пофиг, пока в DPB есть вменяемое значение isc_dpb_lc_ctype... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=40&mobile=1&tid=1562163]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 154ms |
0 / 0 |