Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Опять меня глючит и колбасит или весна на улице? / 4 сообщений из 4, страница 1 из 1
10.03.2006, 16:30
    #33593359
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять меня глючит и колбасит или весна на улице?
ASA 9.0.2.3267
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
CREATE PROCEDURE "dba".WhereIsError( in DocID integer)
BEGIN
  declare local temporary table tItems(
    line_id integer,
    reserved numeric( 12 , 5 )
  ) ON COMMIT PRESERVE ROWS;

  declare local temporary table t2(
    line_id integer,
    reserved numeric( 12 , 5 )
  ) ON COMMIT PRESERVE ROWS;


    INSERT INTO tItems
    (line_id, reserved)
    SELECT line_id, reserved2=coalesce(reserved, 0 )
    FROM t2
    WHERE DocID=DocId;
END
Какой результат выполнения это скрипта на любой базе, хоть asademo?
...
Рейтинг: 0 / 0
10.03.2006, 20:36
    #33593889
iLLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять меня глючит и колбасит или весна на улице?
Ошибка около temporary в 3-й строке. Это возвращает сервер.
Если стереть это: "reserved2=", то все ОК. Я всегда не любил, и никогда не
использовал оператор присвоения/сравнения в селектах. Видимо тут все
прозрачно, АСА пытается сравнить поле "reserved2" и результат ф-ии
coalesce(reserved,0), и вот тут он понимает, что reserved2 брать-то негде?!
Или я не догнал вопроса?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10.03.2006, 21:23
    #33593932
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять меня глючит и колбасит или весна на улице?
iLLerОшибка около temporary в 3-й строке. Это возвращает сервер.
Если стереть это: "reserved2=", то все ОК.
Все верно. Смешение диалектов.
Присваивание внутри селекта это особенность TransactSQL. А команда declare local temporary table это WatcomSQL. Вместе, в одной процедуре они быть не могут по определению.

А вот почему парсер ругается на temporary а не на присваивание - это вопрос очень даже интересный и загадочный :)
...
Рейтинг: 0 / 0
10.03.2006, 22:19
    #33593970
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять меня глючит и колбасит или весна на улице?
White Owl пишет:

> А вот почему парсер ругается на temporary а не на присваивание - это
> вопрос очень даже интересный и загадочный :)

А мне не до смайликов. Второй день подряд как дурак ищу у себя ошибки и
вот уже вторую нашел в ASA, хотя от первой там до сих пор еще пытаются
отнекиваться в стиле "ниче не знаю. сам дурак. с нашего конца пули вылетают"

А этот вопрос про ошибки парсера оказывается уже поднимался в 2000 году
в sybase.public.sqlanywhere.product_futures_discussion.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Опять меня глючит и колбасит или весна на улице? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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