powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Default-параметры хранимки и обработка EXCEPTION. АСА 11.
6 сообщений из 6, страница 1 из 1
Default-параметры хранимки и обработка EXCEPTION. АСА 11.
    #35971053
Redbor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем, уважаемые коллеги.

Обнаружил такой баг в 11-ой АСА. Если ХПшка создаётся без DEFAULT-параметров, то в ней можно использовать конструкцию
Код: plaintext
1.
2.
3.
BEGIN
...
EXCEPTION ...
END

Если же у процедуры объявлен хоть один DEFAULT-параметр, то хранимку создать невозможно. Выдаётся сообщение об ошибке из серии "... procedure no longer valid...".
Сервер - 11.0.1.2052, ОС - centos-5.1-i386.
...
Рейтинг: 0 / 0
Default-параметры хранимки и обработка EXCEPTION. АСА 11.
    #35971631
V.V.L.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Под виндами работает. Лучше дайте минимально нерабочий пример процедуры.
...
Рейтинг: 0 / 0
Default-параметры хранимки и обработка EXCEPTION. АСА 11.
    #35972393
Redbor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При следующем объявлении процедуры
Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE PROCEDURE "DBA"."test" (@param int = NULL)
BEGIN 
	BEGIN 
	EXCEPTION 
	WHEN 
		OTHERS THEN MESSAGE 'ОБЛОМС!' TO CLIENT; 
END;
получаем такое сообщение об ошибке:

[Sybase][ODBC Driver][SQL Anywhere]Procedure 'test' is no longer valid SQLCODE: -836 SQLSTATE: 42000 SQL Statement: ALTER PROCEDURE "DBA"."test"( @param int = null ) BEGIN begin select @param; end; exception when others then message 'ОБЛОМС!' to client; END

Если же процу объявить так
Код: plaintext
CREATE PROCEDURE "DBA"."test" (@param int)...
, то всё нормально.
...
Рейтинг: 0 / 0
Default-параметры хранимки и обработка EXCEPTION. АСА 11.
    #35972466
Redbor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё, вопрос снят. Я просто по привычке написал на TSQL-е, а не на Ваткоме. Всем спасибо.
...
Рейтинг: 0 / 0
Default-параметры хранимки и обработка EXCEPTION. АСА 11.
    #35972490
V.V.L.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А так ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE PROCEDURE "DBA"."test"(@param int default NULL)
BEGIN
	BEGIN 
	EXCEPTION 
	WHEN 
		OTHERS THEN MESSAGE 'ОБЛОМС!' TO CLIENT;
  END;
END;
Короче, END-а завершающего нету
...
Рейтинг: 0 / 0
Default-параметры хранимки и обработка EXCEPTION. АСА 11.
    #35972722
Redbor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бы не хватало END-а, то и сообщение об ошибке было бы другое, мол, ошибка синтаксиса. А дело было в несовместимости синтаксисов. Я объявлял параметр на TSQL-е, а в теле процы использовал Ваткомовскую конструкцию. А так делать нельзя, ибо сервер, встретив TSQL-ное объявление процы ждал, что и её тело будет тоже на TSQL-е, а там Ватком!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Default-параметры хранимки и обработка EXCEPTION. АСА 11.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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