powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / В MS SQL 17 возник вопрос к синтаксису "Raiserror"
11 сообщений из 11, страница 1 из 1
В MS SQL 17 возник вопрос к синтаксису "Raiserror"
    #39821766
DreamDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня коллеги вопрос. Два сервера MS SQL. Идентичная база. Пробую переехать с 2005 сервера на 17. В 17 возник вопрос к синтаксису "Raiserror"


В 2005 работало так ... при переносе базы на 17 сервер возникли притенении к этой части


Код: sql
1.
2.
3.
4.
5.
  return
  errorHandler:
    raiserror @errorNumber @errorMsg
  rollback transaction
END
...
Рейтинг: 0 / 0
В MS SQL 17 возник вопрос к синтаксису "Raiserror"
    #39821768
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
В MS SQL 17 возник вопрос к синтаксису "Raiserror"
    #39821783
DreamDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One https://docs.microsoft.com/ru-ru/sql/t-sql/language-elements/raiserror-transact-sql?view=sql-server-2017

Это уже читал.

Код: sql
1.
2.
3.
4.
  return
  errorHandler:
    raiserror (@errorNumber, @errorMsg)
  rollback transaction



Не спасло
...
Рейтинг: 0 / 0
В MS SQL 17 возник вопрос к синтаксису "Raiserror"
    #39821791
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DreamDemKonst_One https://docs.microsoft.com/ru-ru/sql/t-sql/language-elements/raiserror-transact-sql?view=sql-server-2017

Это уже читал.

Код: sql
1.
2.
3.
4.
  return
  errorHandler:
    raiserror (@errorNumber, @errorMsg)
  rollback transaction



Не спасло

это как читали?

авторRAISERROR ( { msg_id | msg_str | @local_variable }
{ ,severity ,state }
[ ,argument [ ,...n ] ] )
...
Рейтинг: 0 / 0
В MS SQL 17 возник вопрос к синтаксису "Raiserror"
    #39821796
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DreamDemKonst_One https://docs.microsoft.com/ru-ru/sql/t-sql/language-elements/raiserror-transact-sql?view=sql-server-2017

Это уже читал.

Код: sql
1.
2.
3.
4.
  return
  errorHandler:
    raiserror (@errorNumber, @errorMsg)
  rollback transaction




Не спаслоА где там ERROR NUMBER? На первом месте - текст сообщения.
...
Рейтинг: 0 / 0
В MS SQL 17 возник вопрос к синтаксису "Raiserror"
    #39822160
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DreamDem

В 2005 работало так ... при переносе базы на 17 сервер возникли притенении к этой части


[/src]


О, сколько вам открытий чудных будет при таком резком переносе
...
Рейтинг: 0 / 0
В MS SQL 17 возник вопрос к синтаксису "Raiserror"
    #39822182
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapА где там ERROR NUMBER? На первом месте - текст сообщения.
у ТСа в коде использовался недокументированный синтаксис raiserror, который MS перестали поддерживать с 2012 сервера, вроде бы
документированный синтаксис был примерно таким же как сейчас и в 2005 версии
...
Рейтинг: 0 / 0
В MS SQL 17 возник вопрос к синтаксису "Raiserror"
    #39822193
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShakilliapА где там ERROR NUMBER? На первом месте - текст сообщения.
у ТСа в коде использовался недокументированный синтаксис raiserror, который MS перестали поддерживать с 2012 сервера, вроде бы
документированный синтаксис был примерно таким же как сейчас и в 2005 версии

Был, а старый - это хвосты от Sybase, и еще такой синтаксис генерировал PowerDesigner, сам на такое нарвался, когда Майкрософт прекратил поддерживать этот синтаксис.
Но кто ж будет переделывать, если работает
...
Рейтинг: 0 / 0
В MS SQL 17 возник вопрос к синтаксису "Raiserror"
    #39822251
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShakilliapА где там ERROR NUMBER? На первом месте - текст сообщения.
у ТСа в коде использовался недокументированный синтаксис raiserror, который MS перестали поддерживать с 2012 сервера, вроде бы
документированный синтаксис был примерно таким же как сейчас и в 2005 версииЯ сам вовсю использовал этот синтаксис.
Тогдашние версии ErWin`а активно этому способствовали, ибо этот синтаксис генерировался в них по умолчанию.
Впоследствии пришлось потратить много дней на поиск и выгребание всех старых RAISERRORов.
DreamDem, успехов! Главное не бояться и - ручками, ручками! Может помочь в поиске скрипт типа такого:
Код: sql
1.
2.
3.
SELECT type, name
FROM sys.objects
WHERE OBJECT_DEFINITION(object_id) LIKE N'%RAISERROR[ ][@0123456789]%';

Разве что его доработать надо для случая нескольких пробелов (или табуляций, перевода строки и т.п.)
после RAISERROR и для гарантии, что перед RAISERROR нет буквы или цифры.
Выявить все объекты, содержащие неправильные RAISERRORы и исправить их.
...
Рейтинг: 0 / 0
В MS SQL 17 возник вопрос к синтаксису "Raiserror"
    #39822269
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл про COLLATE и регистр букв:
Код: sql
1.
2.
3.
SELECT type, name
FROM sys.objects
WHERE OBJECT_DEFINITION(object_id) LIKE N'%RAISERROR[ ][@0123456789]%' COLLATE Cyrillic_General_CI_AI;
...
Рейтинг: 0 / 0
В MS SQL 17 возник вопрос к синтаксису "Raiserror"
    #39822316
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут мозгом пошевелил... Вроде вот этот скрипт выдаст типы и имена всех объектов, в которых используется старый синтаксис RAISERROR:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SELECT type, name
FROM sys.objects
WHERE N' '+
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(OBJECT_DEFINITION(object_id)
,NCHAR(9),N' ')
,NCHAR(13),N' ')
,NCHAR(10),N' ')
,N'  ',N' '+NCHAR(9))
,N' '+NCHAR(9),NCHAR(9)+N' ')
,NCHAR(9)+N' ',N'')
,NCHAR(9),N'')
LIKE N'% RAISERROR [@0123456789]%' COLLATE Cyrillic_General_CI_AI;
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / В MS SQL 17 возник вопрос к синтаксису "Raiserror"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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