[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Процедура в процедуре
Игорь_Vasinsky
Вообщем получаю такую ошибку

Цитата
a mismatching number of BEGIN and COMMIT statements. Previous count = 1, current count = 0.


гугл сэйс

Цитата
несовпадение числа начинаются и принятия операторов. Предыдущее количество = 1, текущее количество = 0.


мне это ни о чём не говорит))


ситуация следуюшая

есть процедура в которой вызывается другая
во второй процедуре в цикле дёргается ещё несколько


все процедуры обёрнуты в tray catch на случай отката

begin try

alter procedure....
params...

begin catch
set @Error_Code = error_number()
set @Error_Message = error_message()

if @@trancount>0
rollback

end catch


что происходит не так?
ранее без проблем отрабатывало

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Invis1ble
могу наванговать, что у тебя синтаксическая ошибка (типа как отсутствие закрывающей скобки)
params...

end try

?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Игорь_Vasinsky
да не.. я указал просто псевдо кодом

всё в таком виде

ALTER procedure [r2].[p_ListProcedure]

(

@Param bigint,
@Error_Code int = null output,
@Error_Message varchar(4000) = null output
)
as
set nocount on

begin try

Declare bla bla bla

begin catch
set @Error_Code = error_number()
set @Error_Message = error_message()

if @@trancount>0
rollback

end catch


все процедуры опробованы отжельно и работали. я не понял что произошло.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Invis1ble
http://technet.microsoft.com/en-us/library/ms175976.aspx
Цитата
Syntax
BEGIN TRY
    { sql_statement | statement_block }
END TRY
BEGIN CATCH
    [ { sql_statement | statement_block } ]
END CATCH
[ ; ]
Игорь_Vasinsky
MiksIr

да есть)) пропустил просто

ALTER procedure [r2].[p_ListProcedure]

(

@Param bigint,
@Error_Code int = null output,
@Error_Message varchar(4000) = null output
)
as
set nocount on

begin try

Declare bla bla bla

end try

begin catch
set @Error_Code = error_number()
set @Error_Message = error_message()

if @@trancount>0
rollback

end catch



походу одна из процедур отсутствует. проверяю.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
ну вот - попалась

в одной из процедур, которая в цикле дёргается

begin tran my_transaction
......
commit tran my_transaction


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
и видимо где то далее тоже есть...

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
всё. так и есть.

решено.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.