Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Like в процедуре / 4 сообщений из 4, страница 1 из 1
11.10.2016, 19:54
    #39324845
petrovitch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Like в процедуре
Здравствуйте,
подскажите, пожалуйста, как в процедуре сконструировать строку для поиска?
Вот так, процедура создается, и работает:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE PROCEDURE UPDATE_NEWS (
    USER_NAME VARCHAR(100))
RETURNS (
    ID VARCHAR(10),
    SHOW BLOB SUB_TYPE TEXT)
AS
begin
     for select id, show from news where show not like  :user_name  and UPPERUSERNAME <> :user_name into :id, :show
         do if (id<>0) then
          begin
            update news set show = :user_name  where id=:id ;
            suspend;
          end
end;



Так ошибка "Strings cannot be added or subtracted in dialect 3."

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE PROCEDURE UPDATE_NEWS (
    USER_NAME VARCHAR(100))
RETURNS (
    ID VARCHAR(10),
    SHOW BLOB SUB_TYPE TEXT)
AS
begin
     for select id, show from news where show not like ';;;' + :user_name + ';;;' and UPPERUSERNAME <> :user_name into :id, :show
         do if (id<>0) then
          begin
            update news set show = :show + ';;;' + :user_name + ';;;'  where id=:id ;
            suspend;
          end
end;
...
Рейтинг: 0 / 0
11.10.2016, 19:58
    #39324848
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Like в процедуре
Открой для себя "Руководство по языку" в части "операции".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.10.2016, 21:21
    #39324880
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Like в процедуре
petrovitchТак ошибка "Strings cannot be added or subtracted in dialect 3."
||
...
Рейтинг: 0 / 0
12.10.2016, 01:18
    #39324935
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Like в процедуре
wadman,

да какая конкатенация. там строку сравнивают на <> с числом. в 3 диалекте это уже не работает. надо строку к числу приводить через cast. или не морочить голову, и работать с числами. Особенно если ID из SHOW вовсе не varchar(10), а integer или bigint.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Like в процедуре / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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