powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Длина строки. Как обрезать строку без UDF?
4 сообщений из 4, страница 1 из 1
Длина строки. Как обрезать строку без UDF?
    #32547038
doroshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

В триггере имеет место быть такая конструкция:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
   ...
   declare variable conclusion varchar( 512 );
   declare variable scname varchar( 10 );

    ...

    conclusion = scname||': '||conclusion;

    insert into send_wait (swid, jobcardno, conclusion)
    values (gen_id(sw_gen, 1 ), jobcardno, :conclusion);
    ...

Поле conclusion в таблице send_wait - тоже varchar(512)
если вдруг при конкатенации строк длина результирующей строки будет больше 512 будет вызван соответствующий exception.

В хранимой процедуре можно было бы написать
Код: plaintext
WHEN ANY DO EXIT;
но в триггере такая конструкция не проходит.
Чё делать?
Вариант запихнуть этот кусок в процедуру и вызывать ее из триггера - лень ;) Может есть решение покрасивше?
...
Рейтинг: 0 / 0
Длина строки. Как обрезать строку без UDF?
    #32547142
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
conclusion = SUBSTRING(scname||': '||conclusion FROM 1 FOR 512)
...
Рейтинг: 0 / 0
Длина строки. Как обрезать строку без UDF?
    #32547262
doroshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ух ты! Спасибо.
А SUBSTRING - это встроенная функция?

Ткните меня кто-нить в мануал где описаны все новые встроенные функции типа substring, coalesce и т.п. А то столько всего интересного лежит совсем рядом, а ты об этом и не догадываешься...
...
Рейтинг: 0 / 0
Длина строки. Как обрезать строку без UDF?
    #32547280
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100 раз уже тыкали носом.
Ну на тебе , в 101-й раз.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Длина строки. Как обрезать строку без UDF?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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