Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как в триггере взять несколько символов слева? LEFT не катит 
V
    Опции темы
ksili
Дата 20.2.2008, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



надо чтобы при добавлении значение поля изменялось в зависимости от начала другого поля (строка). Хотел для определения начала строки использовать функцию left . IBExpert её выделяет жирным, значит это слово действительно зарезервировано под что-то.
Но при компиляции триггера выскакивет ошибка: 
Invalid token
left

Я пишу примерно так:
Код

...
else if(left(new.number,4)='8391') then
    new.operator=5;
....

Так всё-таки в FB 2.0.3 можно использовать left или нет? Или придётся substring использовать?

И ещё. Как можно узнать значение определённого символа? Типа как в Си: number[2]. Тоже только substring'ом или ещё как-то можно?


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
ksili
Дата 20.2.2008, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Нашёл я список встроенных функций в Firebird. Их там оказывается совсем немного, и LEFT среди них нету )) Сделал всё на substring'ах. 
Однако непонятно, зачем IBExpert выделяет разные слова, которые не являются функциями или операторами... Не перывй раз уже сталкиваюсь


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
tishaishii
Дата 20.2.2008, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Всё понятно. Это изоперы: INNER JOIN, OUTER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, ....
PM MAIL ICQ Skype   Вверх
kZ25
Дата 21.2.2008, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 4.7.2006

Репутация: нет
Всего: нет



используйте starts with

Код

if new.number starts with '8391' then


[/code]
PM MAIL   Вверх
ksili
Дата 22.2.2008, 06:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



на starts with ругается. Пишет Parsing error. А вот starting with сработало


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.