powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Некорректная работа хранимой процедуры
35 сообщений из 35, показаны все 2 страниц
Некорректная работа хранимой процедуры
    #33931314
Татьяна В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые специалисты!
Хранимая процедура вытворяет чудеса, т.е. периодически выдает неожиданные результаты. Код и логика процедуры выверены до запятой.

Вопрос: возможна ли в принципе по какой либо причине ситуация, когда запрос в процедуре выдает не те результаты, какие должен (может квери план сбился, или с индексами проблемы...)?

Благодарю за любой ответ.
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33931336
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще-то бывает...
а лучше укажите ASA ASE и версию
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33931338
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не с группировкой ли проблемы? ;)
код процедуры тоже было бы неплохо опубликовать
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33931863
Татьяна В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
версия: Adaptive Server Enterprise/12.5.3/EBF 13060 ESD#5/P/Compaq Tru64
врядли проблемы с группировкой... везде стоят уникальные индексы...
и процедура как бы работает нестабильно - зачастую просто не удается воспроизвести этот глюк... повторный прогон процедуры - возвращает корректные результаты...

а можно поподробней по поводу вероятности сбоя quiery plan? или других причин по которым это может происходить (кроме логики процедуры)...
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33931868
Татьяна В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
публиковать код процедуры - не очень хорошая идея...
процедура гиганских размеров - с кучей вложенных вызовов...
мне важно принципиально знать - возможен такой глюк или нет... если возможен - то из-за чего?... и что в этом случае может помочь?... :-)
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33931977
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна Впубликовать код процедуры - не очень хорошая идея...
процедура гиганских размеров - с кучей вложенных вызовов...
мне важно принципиально знать - возможен такой глюк или нет... если возможен - то из-за чего?... и что в этом случае может помочь?... :-)

пересоздавать процедуру пробовали?
глюки сохраняются?
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33932183
Татьяна В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пересоздавать процедуру пробовали... Глюков пока не наблюдается...
Проблема в том, что необходимо выяснить что именно являлось причиной данных глюков...
А то становится страшно жить, господа :-)
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33933186
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна ВВопрос: возможна ли в принципе по какой либо причине ситуация, когда запрос в процедуре выдает не те результаты, какие должен (может квери план сбился, или с индексами проблемы...)?Да, это возможно к сожалению.
Во всяком случае, на ASA9 я такие проблемы имел :(
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33933450
Фотография Zhora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна ВПересоздавать процедуру пробовали... Глюков пока не наблюдается...
Проблема в том, что необходимо выяснить что именно являлось причиной данных глюков...
А то становится страшно жить, господа :-)
Может у Вас осталась старая sp (типа _old) тоже?
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33933488
panu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой страсти какие, аж коленки задражжали...
вспоминаю и у меня бывает ворчание на софт, но немного (или много) времени и причина находится. причем именно там где и не подумаеш.
жаль у компов нет блока телепатии, все им буковками писать.
а чудес давно уже нет - все волшебники вымерли.
С уважением
Александр Плотников.
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33933529
Татьяна В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр Плотников.
Чудес конечно не бывает - а глюки вечны... :-)
Что вы можете посоветовать по существу проблемы? :-)
Какие буковки написать? И где?...
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33934025
ездун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У нас такие глюки были на родном брате ASE - M$ SQL. Долго ломали голову. Оказалось дело было в памяти. Сменили память и глики прошли. Проявлялись в режиме сильной нагрузки на сервер. Проверьте - может поможет.
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33934034
ездун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя, кажется, даже мать сменили... Давно было. Склероз подводит.
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33934486
Татьяна В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за информацию - обнадежили... :-)
А в Sybase никто с этой траблой не обращался?...
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33934611
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Татьяна ВСпасибо всем за информацию - обнадежили... :-)
А в Sybase никто с этой траблой не обращался?...

Я конечно извиняюсь, может чего не понял, не увидел здесь в чем собственно у автора проблема? С чем в Sybase обращаться?
1) Есть Adaptive Server Enterprise/12.5.3/EBF 13060 ESD#5/P/Compaq Tru64
2) Есть какая-то процедура, которая глючит.
3) Код процедуры никто не видел.

При таком подходе в Sybase скажут примерно следующее:
Процедура вызывается - вызывается. А что Вы там внутри написали - так она вам и возвращает.
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33934842
Татьяна В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antand Татьяна ВСпасибо всем за информацию - обнадежили... :-)
А в Sybase никто с этой траблой не обращался?...

Я конечно извиняюсь, может чего не понял, не увидел здесь в чем собственно у автора проблема? С чем в Sybase обращаться?
1) Есть Adaptive Server Enterprise/12.5.3/EBF 13060 ESD#5/P/Compaq Tru64
2) Есть какая-то процедура, которая глючит.
3) Код процедуры никто не видел.

При таком подходе в Sybase скажут примерно следующее:
Процедура вызывается - вызывается. А что Вы там внутри написали - так она вам и возвращает.

Ну да... конечно все это будет звучать довольно странно...
Думаю именно потому-что народ стесняется обращаться с подобными вещами к разработчикам Sybase - проблема и существует...
Просто, надеюсь, что не я первая сталкиваюсь с ентим глюком... :-)
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33934850
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна, попробуйте создать копию процедуры, перепишите сомнительные участки, сделайте их попроще...
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33935243
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Татьяна В antand Татьяна ВСпасибо всем за информацию - обнадежили... :-)
А в Sybase никто с этой траблой не обращался?...

Я конечно извиняюсь, может чего не понял, не увидел здесь в чем собственно у автора проблема? С чем в Sybase обращаться?
1) Есть Adaptive Server Enterprise/12.5.3/EBF 13060 ESD#5/P/Compaq Tru64
2) Есть какая-то процедура, которая глючит.
3) Код процедуры никто не видел.

При таком подходе в Sybase скажут примерно следующее:
Процедура вызывается - вызывается. А что Вы там внутри написали - так она вам и возвращает.

Ну да... конечно все это будет звучать довольно странно...
Думаю именно потому-что народ стесняется обращаться с подобными вещами к разработчикам Sybase - проблема и существует...
Просто, надеюсь, что не я первая сталкиваюсь с ентим глюком... :-)
Народ не стесняется, просто подобное обращение с вашими исходными данными ошибки не имеет никакого смысла.
Разработчики Sybase отвечают за конкретные вопросы, связанные с тем функционалом, который они заложили в систему.
С вашими исходными данными, это функционал - создание и вызов хранимых процедур. Он работает(Вы же создаете и вызываете процедуру), Sybase не при делах.
А тот функционал что у Вас не работает(или направильно работает), это внутренности процедуры, н-р операторы TSQL.
Но Вы же это не приводите в качестве исходных данных ошибки(текст процедуры и данные таблиц).
Что может на это сделать Sybase?
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33935335
Татьяна В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да... приводить текст исходной процедуры не хотелось бы...
но если сайбейс попросит... - то, наверное, придется...
надежна на то, что это и не понадобится... т.к. проблема ему (сайбейсу) уже известная... :-)
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33935387
Татьяна В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рыжий КотТатьяна, попробуйте создать копию процедуры, перепишите сомнительные участки, сделайте их попроще...
Дело в том, что эти глючные случаи - встречались всего с несколько раз, причем вперемешку с корректной обработкой аналогичных данных... воспроизвести ошибку на техже данных не удается, т.е. при повторном запуске процедуры - все ОК... получается ошибка какая-то плавающая и встречается очень редко...
воспроизвести ее на тестовом сервере не удается...
сделать процедуру проще - боюсь невозможно... :-(
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33935417
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна В wrote:

> воспроизвести ее на тестовом сервере не удается...

И Вы всерьёз надеетесь, что эту ошибку (если она есть на самом деле)
когда-нибудь смогут исправить ;)?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33935425
Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я
Гость
Татьяна ВДело в том, что эти глючные случаи - встречались всего с несколько раз, причем вперемешку с корректной обработкой аналогичных данных... воспроизвести ошибку на техже данных не удается, т.е. при повторном запуске процедуры - все ОК... получается ошибка какая-то плавающая и встречается очень редко...
воспроизвести ее на тестовом сервере не удается...
сделать процедуру проще - боюсь невозможно... :-(
А вы не задумывались что данные за енто время могли изминится ;) например
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33935527
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна В Рыжий КотТатьяна, попробуйте создать копию процедуры, перепишите сомнительные участки, сделайте их попроще...
Дело в том, что эти глючные случаи - встречались всего с несколько раз, причем вперемешку с корректной обработкой аналогичных данных... воспроизвести ошибку на техже данных не удается, т.е. при повторном запуске процедуры - все ОК... получается ошибка какая-то плавающая и встречается очень редко...
воспроизвести ее на тестовом сервере не удается...
сделать процедуру проще - боюсь невозможно... :-(
а вы там нигде грязное чтение не используете случаем ? ;)
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33935904
ездун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Настоятельно рекомендую - протестируйте хорошо свое железо. Особенно память. Симптомы - один к одному, как были у нас. ХП здесь ни причем. Раз она работает.
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33937415
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antand
Процедура вызывается - вызывается. А что Вы там внутри написали - так она вам и возвращает.

точно так

на самом деле стОит проверить собственно данные, которые дергает из базы проца, похоже, что данные "глючат", то бишь разные исходные данные - разные результаты, все как учили
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33937690
Татьяна В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1 antand
Процедура вызывается - вызывается. А что Вы там внутри написали - так она вам и возвращает.

точно так

на самом деле стОит проверить собственно данные, которые дергает из базы проца, похоже, что данные "глючат", то бишь разные исходные данные - разные результаты, все как учили

Ну оно понятно... с этого и начали - данные проверяли... и по аудиту в том числе... не менялись они в этот момент... и не должны были меняться...
понятно, что проблему тщательно искали в первую очередь у себя - может не так написали процедуру... или данные корявые... - но вся штука в том что ничего не нашли...
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33938168
Чудес не бывает, все они рукотворные.
Скорее всего, нужно пинять на себя.
Я как то обращался через наш, в большой Sybase с подобным но стабильным глюком.
Мне пришел ответ т.к. код процедур очень сложный проблему найти не удалось. Пришлось искать глючное место процедуры и переписывать другим кодом. Такие места бывают....
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33941869
panu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я опять повторюсь - чудес не бывает...
и всетаки проверять проверять и проверять как учил великий ...
и железо и тело процедуры и что она там вызывает
мне кажется проблема во втором скорее чем в первом.
С уважением
Александр Плотников.
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33961082
Татьяна В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникли вопросы к специалистам в программировании на Transact-SQL:
1) Насколько необохима/желательна инициализация переменных (присвоение им начальных значений) в Transact-SQL?
2) Как влияет использование out параметра в объявлении переменных процедуры на зрачение этого параметра?
Пример:
create proc Proc1
(@str varchar(10) out)
as
begin
select * from Table1 where str=@str -- или любой другой код - не принципиально
end
go

create proc Proc2
as
begin
declare @str varchar(10)
exec Proc1 @str out
select @str
end
go

т.е. является ли ошибкой либо нежелательным стилем объявлять переменную @str как out в то время, как внутри вызываемой процедуры ей не присваиваются никакие значения?... может ли это вызвать какие либо ошибки или коллизии в распознавании переменных и соответственно присвоении им значений?...
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33961320
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> To Татьяна В

А что мешает внутри sp Proc1 сделать типа select @str = '', но это вряд ли поможет!!!
А проблема может быть в чём угодно, например индексы не подхватываются и их надо указывать принудительно!!!
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33961425
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Татьяна ВВозникли вопросы к специалистам в программировании на Transact-SQL:
1) Насколько необохима/желательна инициализация переменных (присвоение им начальных значений) в Transact-SQL?
2) Как влияет использование out параметра в объявлении переменных процедуры на зрачение этого параметра?
Пример:
create proc Proc1
(@str varchar(10) out)
as
begin
select * from Table1 where str=@str -- или любой другой код - не принципиально
end
go

create proc Proc2
as
begin
declare @str varchar(10)
exec Proc1 @str out
select @str
end
go

т.е. является ли ошибкой либо нежелательным стилем объявлять переменную @str как out в то время, как внутри вызываемой процедуры ей не присваиваются никакие значения?... может ли это вызвать какие либо ошибки или коллизии в распознавании переменных и соответственно присвоении им значений?...

Добрый день!
Это не является какой-то критичной ошибкой, все зависит от того что Вы потом делать будете с этой переменной(возвращаемым значением). Т.е. в данном случае Вам надо смотреть как эта переменная потом используется.
Я, например, всегда присваиваю такого рода переменным null или какое-то определенное начальное значение, чтобы быть
1) быть уверенным в правильности выборок и вычислений
2) легко проверить значение этой переменной далее(is null и т.п.)
Вот например пример кода в ASA 7, который может привести к ошибочным вычислениям
@str varchar(10)
select @str=str from Table1 where id=2
if @str is null
begin
.........
end
Здесь @str не инициализируется(и там не null) и если select не вернет не одной записи,
то блок begin не выполниться.
Это говорит о том, что при объявлении переменных @str varchar(10), в @str попадает "мусор" и только одному богу известно, что вернет например следующий оператор:
select * from Table1 where str=@str
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33966569
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна В1) Насколько необохима/желательна инициализация переменных (присвоение им начальных значений) в Transact-SQL?Этот вопрос не относится к Transact-SQL. Этот вопрос относится к первому месяцу изучения программирования вообще.

Татьяна В2) Как влияет использование out параметра в объявлении переменных процедуры на зрачение этого параметра?
Пример:
create proc Proc1
(@str varchar(10) out)
as
begin
select * from Table1 where str=@str -- или любой другой код - не принципиально
end
goЭтот код неверный. Параметр процедуры объявлен как out, а потом процедура используется для сравения. Результат процедуры абсолютно непредсказуем.

Татьяна Вт.е. является ли ошибкой либо нежелательным стилем объявлять переменную @str как out в то время, как внутри вызываемой процедуры ей не присваиваются никакие значения?Если переменной не присваиваются никакие значения значит эта перменная вообще не нужна. Если перменная используется для передачи параметров внутрь процедуры - она объявляется как IN и обязательно инциализируется перед вызовом процедуры.
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33966681
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl Татьяна В1) Насколько необохима/желательна инициализация переменных (присвоение им начальных значений) в Transact-SQL?Этот вопрос не относится к Transact-SQL. Этот вопрос относится к первому месяцу изучения программирования вообще.

Татьяна В2) Как влияет использование out параметра в объявлении переменных процедуры на зрачение этого параметра?
Пример:
create proc Proc1
(@str varchar(10) out)
as
begin
select * from Table1 where str=@str -- или любой другой код - не принципиально
end
goЭтот код неверный. Параметр процедуры объявлен как out, а потом процедура используется для сравения. Результат процедуры абсолютно непредсказуем.

Татьяна Вт.е. является ли ошибкой либо нежелательным стилем объявлять переменную @str как out в то время, как внутри вызываемой процедуры ей не присваиваются никакие значения?Если переменной не присваиваются никакие значения значит эта перменная вообще не нужна. Если перменная используется для передачи параметров внутрь процедуры - она объявляется как IN и обязательно инциализируется перед вызовом процедуры.

Тут даже добавить нечего, White Owl все четко указал.
to Татьяна В
Когда я писал что "Это не является какой-то критичной ошибкой...", я конечно имел ввиду что это не является ошибкой по отношению к серверу. Серверу все равно, что Вы там напишете в процедуре с точки зрения обработки данных, напишите что 2+2=5 так и будет.
Сервер тупо выполняет ваши инструкции в процедуре, лишь бы в этих инструкциях ошибки не было с точки зрения языка T-SQL и определения данных, в данном случае.
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33976077
Татьяна В
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl Татьяна В1) Насколько необохима/желательна инициализация переменных (присвоение им начальных значений) в Transact-SQL?Этот вопрос не относится к Transact-SQL. Этот вопрос относится к первому месяцу изучения программирования вообще.

Татьяна В2) Как влияет использование out параметра в объявлении переменных процедуры на зрачение этого параметра?
Пример:
create proc Proc1
(@str varchar(10) out)
as
begin
select * from Table1 where str=@str -- или любой другой код - не принципиально
end
goЭтот код неверный. Параметр процедуры объявлен как out, а потом процедура используется для сравения. Результат процедуры абсолютно непредсказуем.

Татьяна Вт.е. является ли ошибкой либо нежелательным стилем объявлять переменную @str как out в то время, как внутри вызываемой процедуры ей не присваиваются никакие значения?Если переменной не присваиваются никакие значения значит эта перменная вообще не нужна. Если перменная используется для передачи параметров внутрь процедуры - она объявляется как IN и обязательно инциализируется перед вызовом процедуры.

Благодарю за ответы.
Насколько мне известно по умолчанию переменные инициализируются NULL значениями?... Поправьте меня если я не права...

И еще... Думаю хорошим примером правильного написания процедур являются системные процедуры Sybase... Так вот в них зачастую переменные не инициализируются...
...
Рейтинг: 0 / 0
Некорректная работа хранимой процедуры
    #33976112
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна ВНасколько мне известно по умолчанию переменные инициализируются NULL значениями?... Поправьте меня если я не права...Да. Локальные переменные, объявленые внутри блока - инициализируются NULL'ом. Но к параметрам процедур это не относится.

Татьяна ВИ еще... Думаю хорошим примером правильного написания процедур являются системные процедуры Sybase... Так вот в них зачастую переменные не инициализируются...Скорее всего, в этих случаях инициализация просто не нужна. Возможно эта переменная будет проинициализирована чуть позже.
А вообще, никто вам не гарантирует отутствие ошибок в системных процедурах :) Эх, если бы их там не было....
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Некорректная работа хранимой процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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