![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать, чтобы IB сама обрезала записи VARCHAR, [D7, Yaffi]
Disruptor © (2003-11-21 10:12:00)
которые больше, чем позволено максимальной длиной.
Я делаю INSERT ... И если запись больше, чем возможно - она выдает ошибку. Можно этого как-нибудь избежать? Спасибо.
Deniz (2003-11-21 13:44:00) [1]
> sniknik © (21.11.03 12:28) [6]
Автор спросил про " Только я думал, что это может сделать сама IB". Ему так и ответили. А твой вопрос лучше к автору переадресовать.
sniknik (2003-11-21 12:28:00) [2]
Digitman © (21.11.03 12:02) [5]
> проблем не будет никаких
а трафик? посылать с клиента на сервер кучу данных только для того чтобы записалась только часть их, хорошо ли это?
строки то могут быть довольно длинные.
Digitman (2003-11-21 12:02:00) [3]
> Disruptor
создай UDF, которая будет обрезать vchar(), вызывай ее в триггере на вставку/модификацию, результат вызова UDF пиши в нужное поле - проблем не будет никаких
stud (2003-11-21 10:37:00) [4]
отсылать в базу подготовленные данные, а готовить их на клиенте
Sandman25 (2003-11-21 10:26:00) [5]
Возможно, сможет и сама IB. Я не спец по IB, к сожалению.
Во всяком случае Informix при выполнении команды insert into table(varchar10chars) values ("012345678901234456789")
никаких ошибок не выдает, а вставляет именно первые 10 символов.
Возможно, у IB есть настройка, управляющая поведением в данном случае. Подождите других отвечающих.
Disruptor (2003-11-21 10:17:00) [6]
Спасибо. Только я думал, что это может сделать сама IB. Дело в том, что при репликации я не всегда знаю тип переносимого поля.
Sandman25 (2003-11-21 10:15:00) [7]
MyVarcharField.AsString := Copy(theValue, 1, MyVarcharField.Size)
?