Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 December 28

К

Какой-то Хмырь... in SqlCom.ru - Стиль жизни SQL
EnterpriseJira PluginDev
А как из функции (UDF) выкидывать исключения? Ну, или эмулировать их.
begin try
end try
begin catch
end catch

ты про это?
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Привет
Как объединить две таблицы, "заказ" и "заказ_архив", но сортировку делать только по "заказ" ? В "архив" попадают все изменения позиций "заказа", id у них совпадает.
Union позволяет сортировать только после объединения.
Идея в том, чтобы сортировать актуальные позиции, а история из архива к ним уже приклеивалась
источник

АА

Андрей Агеев... in SqlCom.ru - Стиль жизни SQL
Павлов Дмитрий
Привет
Как объединить две таблицы, "заказ" и "заказ_архив", но сортировку делать только по "заказ" ? В "архив" попадают все изменения позиций "заказа", id у них совпадает.
Union позволяет сортировать только после объединения.
Идея в том, чтобы сортировать актуальные позиции, а история из архива к ним уже приклеивалась
Добавить доп. поле для сортировки при объединении
select * , 0 x from order union all
select * , 1 x from order_arc order by x
источник

Д

Денис Лёвкин... in SqlCom.ru - Стиль жизни SQL
EnterpriseJira PluginDev
А как из функции (UDF) выкидывать исключения? Ну, или эмулировать их.
Из UDF в MSSQL нельзя выкинуть raiserror.
Можно схитрить, например так - https://pastebin.com/fYpGht6j
Но лучше вместо функции,если это возможно, использовать хп.
источник

A

Alex in SqlCom.ru - Стиль жизни SQL
Я эксепшно кидаю
Declare @value int = cast('a' as int) + 'текст ошибки'
источник

EP

EnterpriseJira Plugi... in SqlCom.ru - Стиль жизни SQL
Денис Лёвкин
Из UDF в MSSQL нельзя выкинуть raiserror.
Можно схитрить, например так - https://pastebin.com/fYpGht6j
Но лучше вместо функции,если это возможно, использовать хп.
Это я знаю. Сейчас я тупо возращаю текст исключения. Отлчный способ симуляции, ага
источник

Д

Денис Лёвкин... in SqlCom.ru - Стиль жизни SQL
Если UDF в MSSQL не поддерживает - да костыли, либо через openquery или return cast('Текст' as).
Нет другого варианта и точка.
источник

D

Dishin in SqlCom.ru - Стиль жизни SQL
Какой-то Хмырь
ну тогда разве что наличие службы проверить и фанрволл
SSMS 18  и SSIS 15 работает дело скорей всего не файрволе.
источник

К

Какой-то Хмырь... in SqlCom.ru - Стиль жизни SQL
Dishin
SSMS 18  и SSIS 15 работает дело скорей всего не файрволе.
я хз... а ты че, до сих пор не решил?)))
источник

D

Dishin in SqlCom.ru - Стиль жизни SQL
Какой-то Хмырь
я хз... а ты че, до сих пор не решил?)))
нет
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Андрей Агеев
Добавить доп. поле для сортировки при объединении
select * , 0 x from order union all
select * , 1 x from order_arc order by x
Если в заказе один артикул несколько раз заказан и один из них имеет запись в архиве, то сортировка, например по дате поставки сначала выдаст неверную последовательность.
Нужно чтобы сначала сортировка из таблицы заказ по выбранному столбцу, потом из таблицы архив присоединялись записи с таким же id и сортировались по времени  внутри id
источник

АА

Андрей Агеев... in SqlCom.ru - Стиль жизни SQL
Павлов Дмитрий
Если в заказе один артикул несколько раз заказан и один из них имеет запись в архиве, то сортировка, например по дате поставки сначала выдаст неверную последовательность.
Нужно чтобы сначала сортировка из таблицы заказ по выбранному столбцу, потом из таблицы архив присоединялись записи с таким же id и сортировались по времени  внутри id
и в чем проблема задать нужный порядок? главное что есть нужный атрибут архив-неархив, по которому вы можете разделять записи из разных таблиц при объеденении.
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Андрей Агеев
и в чем проблема задать нужный порядок? главное что есть нужный атрибут архив-неархив, по которому вы можете разделять записи из разных таблиц при объеденении.
id | art | cnt | mpost | znum | arch
1 | 10 | 50 | 06 |  0  | 0
2 | 10 | 30 | 04 | 32 | 0
3 |  8  | 10 | 05 |  0  | 0

id | art | cnt | mpost | znum | arch
1 | 10 | 50 | 03 | 33 | 1
3 |  8  | 20 | 05 | 32 | 1

Первая тбл заказа, вторая архив. В архив ложится строка из первой  с тем же id.
Строке заказа присваивается номер закупки, который сбрасывается при изменении записи.
Нужно вывести историю. С сортировкой по номеру закупки
Должно получиться

id | art | cnt | mpost | znum | arch
3 |  8  | 20 | 05 | 32 | 1
3 |  8  | 10 | 05 |  0  | 0
1 | 10 | 50 | 03 | 33 | 1
1 | 10 | 50 | 06 |  0  | 0
2 | 10 | 30 | 04 | 32 | 0
источник

АА

Андрей Агеев... in SqlCom.ru - Стиль жизни SQL
С сортировкой по номеру закупки - противоречит Строке заказа присваивается номер закупки, который сбрасывается при изменении записи
источник

АА

Андрей Агеев... in SqlCom.ru - Стиль жизни SQL
Либо датасет должен быть другой
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Андрей Агеев
С сортировкой по номеру закупки - противоречит Строке заказа присваивается номер закупки, который сбрасывается при изменении записи
В этом и беда, не пойму как иначе организовать ведение истории в таком случае
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Андрей Агеев
С сортировкой по номеру закупки - противоречит Строке заказа присваивается номер закупки, который сбрасывается при изменении записи
Либо запрос какой-то очень хитрый должен быть.
Я новичок , надеялся, что какой-то фишки не знаю, которая решит эту проблему
источник

AD

AlexXx D in SqlCom.ru - Стиль жизни SQL
ну у вас первым полем будет arch. Cортировка по полям arch, id, art
источник

AD

AlexXx D in SqlCom.ru - Стиль жизни SQL
ну если вы пишете что слачала по заказу отсортировать значит id, arch, art
источник

АА

Андрей Агеев... in SqlCom.ru - Стиль жизни SQL
Павлов Дмитрий
Либо запрос какой-то очень хитрый должен быть.
Я новичок , надеялся, что какой-то фишки не знаю, которая решит эту проблему
Ну если ничего не менять, то можно вывести подзапросом номер закупки в архивные строки для сортировки
источник