Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / 2 stored proc не работает нормално / 12 сообщений из 12, страница 1 из 1
22.08.2019, 22:27
    #39853025
jobo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 stored proc не работает нормално
привет
у меня ест stored proc для инсерт
но ест одно другая процедура для инсерт еррор на таблицу error
1-й работает нормално инсерт в таблице отлично работает
но 2 инсерт в еррор не работает
и еше я хочу получит когда будет еррор max(id) error таблицу
вот код два процедуры

1-й
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
ALTER PROCEDURE [dbo].[Sola_uspLogError] 
    @ErrorLogID [int] = 0 OUTPUT 
AS                               
BEGIN
    SET NOCOUNT ON;

    SET @ErrorLogID = 0;

    BEGIN TRY
        
        IF ERROR_NUMBER() IS NULL
            RETURN;

        
        IF XACT_STATE() = -1
        BEGIN
            PRINT '!!!!!!!!!!!!!!!!!!!!! ';
            RETURN;
        END

        INSERT ERROR(E_NUMBER ,
         E_STATE ,
         E_SEVERITY,
         E_LINE ,
         E_PROCEDURE ,
         E_MESSAGE )
    VALUES(
         ERROR_NUMBER()  
         ,ERROR_SEVERITY()  
        ,ERROR_STATE()   
        ,ERROR_PROCEDURE()  
        ,ERROR_LINE ()  
        ,ERROR_MESSAGE() 
        ) 

        
        SET @ErrorLogID = @@IDENTITY;
    END TRY
    BEGIN CATCH
        PRINT '??????????????: ';
        EXECUTE [dbo].[Sola_uspPrintError];
        RETURN -1;
    END CATCH
END;



и 2-й


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
ALTER  PROCEDURE [dbo].[INSE] 
   @MENU_NAME NVARCHAR(5), 
    @CAPTION NVARCHAR(5)
AS
BEGIN
    
SET XACT_ABORT ON;  
    BEGIN TRY
        BEGIN TRANSACTION;

       INSERT INTO REG.MENU
            (MENU_NAME
            ,CAPTION
            ) 
        VALUES (@MENU_NAME, @CAPTION);

        COMMIT TRANSACTION;
                

    END TRY
    BEGIN CATCH
  
    EXECUTE [dbo].[Sola_uspLogError] /*usp_GetErrorInfo*/;  
  
    IF (XACT_STATE()) = -1  
    BEGIN  
        PRINT  
            N'The transaction is in an uncommittable state.' +  
            'Rolling back transaction.'  
        ROLLBACK TRANSACTION;  
    END;  
  
    IF (XACT_STATE()) = 1  
    BEGIN  
        PRINT  
            N'The transaction is committable.' +  
            'Committing transaction.'  
        COMMIT TRANSACTION;     
    END;  
    END CATCH;
END;
...
Рейтинг: 0 / 0
22.08.2019, 22:49
    #39853028
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 stored proc не работает нормално
Сейчас-сейчас, только текст ошибки угадаем...
...
Рейтинг: 0 / 0
22.08.2019, 23:10
    #39853033
jobo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 stored proc не работает нормално
Гавриленко Сергей Алексеевич,

да
такой прочедура у меня ест в update
мне должен получит инсерт в еррор
даже из таблицу еррор @@IDENTITY
но я получаю null потому что инсерт не работает
...
Рейтинг: 0 / 0
22.08.2019, 23:18
    #39853035
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 stored proc не работает нормално
Чтобы что-то было в @return_value, надо сделать return это что-то из процедуры.
...
Рейтинг: 0 / 0
23.08.2019, 00:02
    #39853040
jobo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 stored proc не работает нормално
Гавриленко Сергей АлексеевичЧтобы что-то было в @return_value, надо сделать return это что-то из процедуры.

я изменил insert в процедуре [Sola_uspLogError] так

создал таблицу толко с столбцом error_number
и хотел бы всатвит там но все равно не делает инсерт и дает такой же резултат

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
create table test
(id int not null identity(1,1),error_num int null)

ALTER PROCEDURE [dbo].[Sola_uspLogError] 
    @ErrorLogID [int] = 0 OUTPUT 
AS                               
BEGIN
    SET NOCOUNT ON;

    SET @ErrorLogID = 0;

    BEGIN TRY
        
        IF ERROR_NUMBER() IS NULL
            RETURN;

        
        IF XACT_STATE() = -1
        BEGIN
            PRINT '!!!!!!!!!!!!!!!!!!!!! ';
            RETURN;
        END

        INSERT into test(error_num )
    VALUES(
         ERROR_NUMBER()        
        ) 

        
        SET @ErrorLogID = @@IDENTITY;
    END TRY
    BEGIN CATCH
        PRINT '??????????????: ';
        EXECUTE [dbo].[Sola_uspPrintError];
        RETURN -1;
    END CATCH
END;



и резултат тоже так
...
Рейтинг: 0 / 0
23.08.2019, 00:07
    #39853041
jobo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 stored proc не работает нормално
jobo,
к стати для удаления процедура так такой же проблем тоже
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
ALTER PROCEDURE [dbo].[REG_MENU_DELETE]
    
    
    @MENU_ID INT
     
AS
BEGIN
    SET NOCOUNT ON;

    BEGIN TRY
        BEGIN TRANSACTION;

            DELETE FROM REG.MENU
             WHERE MENU_ID=@MENU_ID
                 COMMIT TRANSACTION;
    END TRY
    BEGIN CATCH
        
        IF @@TRANCOUNT > 0
        BEGIN
            ROLLBACK TRANSACTION;
        END
       
EXECUTE [dbo].[Sola_uspLogError] 
       
    END CATCH;
END;
...
Рейтинг: 0 / 0
23.08.2019, 00:14
    #39853043
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 stored proc не работает нормално
Если вы не читаете ответы, то форум вам ничем помочь не сможет.
...
Рейтинг: 0 / 0
23.08.2019, 05:47
    #39853065
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 stored proc не работает нормално
Мне одному кажется, что процедуры тредстартера безумныбессмысленны, чуть более, чем полностью?
...
Рейтинг: 0 / 0
23.08.2019, 09:49
    #39853111
StarikNavy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 stored proc не работает нормално
aleks222Мне одному кажется, что процедуры тредстартера безумныбессмысленны, чуть более, чем полностью?
ну, он за них деньги получает. видимо )
...
Рейтинг: 0 / 0
23.08.2019, 13:31
    #39853239
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 stored proc не работает нормално
Поток сознания... Показывает код одних процедур, а выполняет другие.
...
Рейтинг: 0 / 0
23.08.2019, 15:58
    #39853337
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 stored proc не работает нормално
joboГавриленко Сергей АлексеевичЧтобы что-то было в @return_value, надо сделать return это что-то из процедуры.

я изменил insert в процедуре [Sola_uspLogError] так

создал таблицу толко с столбцом error_number
и хотел бы всатвит там но все равно не делает инсерт и дает такой же резултат

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
create table test
(id int not null identity(1,1),error_num int null)

ALTER PROCEDURE [dbo].[Sola_uspLogError] 
    @ErrorLogID [int] = 0 OUTPUT 
AS                               
BEGIN
    SET NOCOUNT ON;

    SET @ErrorLogID = 0;

    BEGIN TRY
        
        IF ERROR_NUMBER() IS NULL
            RETURN;

        
        IF XACT_STATE() = -1
        BEGIN
            PRINT '!!!!!!!!!!!!!!!!!!!!! ';
            RETURN;
        END

        INSERT into test(error_num )
    VALUES(
         ERROR_NUMBER()        
        ) 

        
        SET @ErrorLogID = @@IDENTITY;
    END TRY
    BEGIN CATCH
        PRINT '??????????????: ';
        EXECUTE [dbo].[Sola_uspPrintError];
        RETURN -1;
    END CATCH
END;



и резултат тоже так

Есть такая версия: вставлят и вынимает
...
Рейтинг: 0 / 0
29.08.2019, 12:41
    #39855064
пятый2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 stored proc не работает нормално
Кто-то нейросети обучает на нашем любимом форуме....
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / 2 stored proc не работает нормално / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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