Запросы, планы, оптимизация запросов, ...
Модераторы: kdv, CyberMax
-
kmi
- Сообщения: 30
- Зарегистрирован: 29 июн 2007, 13:23
Сообщение
kmi » 29 июн 2007, 13:39
Понимаю, как это сделать в Delphi:
А как такую строку записать в поле varchar или BLOB в Firebird 1.5 c помощью скрипта? (нужен именно SQL-скрипт)
-
Merlin
- Динозавр IB/FB
- Сообщения: 1502
- Зарегистрирован: 27 окт 2004, 11:44
Сообщение
Merlin » 29 июн 2007, 14:27
Если именно это, то просто
'abcd
efgh'
-
kmi
- Сообщения: 30
- Зарегистрирован: 29 июн 2007, 13:23
Сообщение
kmi » 29 июн 2007, 14:48
Не работает. Нужен общий случай, включая символ #0.
Для примера:
Код: Выделить всё
INSERT INTO MY_TABLE (ID, DESCRIPTION, EXTRA) VALUES (GEN_ID(GEN_ID_MY_TABLE, 1), 'Временные', '21232F297A57A5A743894A0E4A801FC3'#6#0#0#0'ReadWrite');
Тут символы #6#0#0#0 должны войти

в значение поля EXTRA.
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 29 июн 2007, 16:03
blob
-
kmi
- Сообщения: 30
- Зарегистрирован: 29 июн 2007, 13:23
Сообщение
kmi » 29 июн 2007, 17:04

Что значит "blob"?
Если то, что данные нужно записать в BLOB-поле, то я не спорю. Вопрос именно в том, как это сделать из скрипта, командами SQL.
-
Merlin
- Динозавр IB/FB
- Сообщения: 1502
- Зарегистрирован: 27 окт 2004, 11:44
Сообщение
Merlin » 29 июн 2007, 17:09
Стандартными простейшими текстовыми скриптерами не прокатит. Бинарные данные заливаются через стримы, а не через тексты. Как это организовать - воля писателя интеллектуального скриптера.
-
kmi
- Сообщения: 30
- Зарегистрирован: 29 июн 2007, 13:23
Сообщение
kmi » 29 июн 2007, 17:17
Не очень верится. При занесении строки в базу символы заносятся именно посредством кодов. В этом смысле разницы между символом с кодом 0 и символом с кодом 65 нет никакой.
-
Merlin
- Динозавр IB/FB
- Сообщения: 1502
- Зарегистрирован: 27 окт 2004, 11:44
Сообщение
Merlin » 29 июн 2007, 17:45
А мне пох, верится тебе или нет. И программам-скриптерам тоже. Раскинь мозгой, что есть #0 в текстовой строке.
-
WildSery
- Заслуженный разработчик
- Сообщения: 1738
- Зарегистрирован: 05 июн 2006, 16:19
Сообщение
WildSery » 29 июн 2007, 17:54
kmi писал(а):
Что значит "blob"?
А то и значит.
Если свой велосипед изобретать не хочешь - бери IBEScript, создавай и заливай.
В файле, котором лежит блоб, могут быть любые коды.
-
stix-s
- Заслуженный разработчик
- Сообщения: 557
- Зарегистрирован: 13 дек 2005, 11:52
Сообщение
stix-s » 02 июл 2007, 07:43
kmi писал(а):Не очень верится. При занесении строки в базу символы заносятся именно посредством кодов. В этом смысле разницы между символом с кодом 0 и символом с кодом 65 нет никакой.
В одной программулине из-зя моего недогляда в поле varchar попадали различные непечатные символы (просто мусор из памяти), что приводило ко множеству глюков - ошибках в ХП и даже падению FB, так что если есть сильное желание наступить на мои грабли, пхай в varchar что хочешь

-
Esperito
- Сообщения: 10
- Зарегистрирован: 09 авг 2007, 19:23
Сообщение
Esperito » 09 авг 2007, 19:28
2 kmi: Попробуй использовать функцию AsciiChar() из ib_udf.