Size: a a a

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

2020 July 20

C

Chatbro in SqlCom.ru - Стиль жизни SQL
тру_гость
например:p1=2 и p2=coalesce(null, p2)
источник

YB

Yury Bor in SqlCom.ru - Стиль жизни SQL
Chatbro
тру_гость
например:p1=2 и p2=coalesce(null, p2)
Спасибо попробую сейчас. Я видел эту функцию, но везде она встречалась в рамках запроса на изменение базы и я подумал что она работает только для замены значений в самой базе. Наверно это ее самое частое применение.
источник

T

Totmir in SqlCom.ru - Стиль жизни SQL
Taking fire! Need assistance!
Нужна помощь.

ОБъясните максимально подробно (sql учу ровно день), что происходит в этом запросе и какие данные он возвращает? Описание таблички дам в личку - бот удаляет сообщения со ссылками

USE WTDB;
declare @COLLABORATOR_SUBDIVIZION_ID bigint = 6308792087259208713; --ID подразделения сотрудника
with srec as (
   select
     s.id
     ,s.parent_object_id
     ,s.name
     ,s.code
   from subdivisions s
   where
     s.id=@COLLABORATOR_SUBDIVIZION_ID
   union all
   select
     s.id
     ,s.parent_object_id
     ,s.name
     ,s.code
   from subdivisions s
   join srec
     on srec.parent_object_id=s.id
 )
select
 *
from srec
источник

IC

Igor Chizhov in SqlCom.ru - Стиль жизни SQL
Totmir
Taking fire! Need assistance!
Нужна помощь.

ОБъясните максимально подробно (sql учу ровно день), что происходит в этом запросе и какие данные он возвращает? Описание таблички дам в личку - бот удаляет сообщения со ссылками

USE WTDB;
declare @COLLABORATOR_SUBDIVIZION_ID bigint = 6308792087259208713; --ID подразделения сотрудника
with srec as (
   select
     s.id
     ,s.parent_object_id
     ,s.name
     ,s.code
   from subdivisions s
   where
     s.id=@COLLABORATOR_SUBDIVIZION_ID
   union all
   select
     s.id
     ,s.parent_object_id
     ,s.name
     ,s.code
   from subdivisions s
   join srec
     on srec.parent_object_id=s.id
 )
select
 *
from srec
Ровно день? Тогда здесь происходит магия 😆
источник

V

Vl@d in SqlCom.ru - Стиль жизни SQL
Это рекурсивный запрос, выводит все подразделения, которые находятся внутри @COLLABORATOR_SUBDIVIZION_ID
источник

T

Totmir in SqlCom.ru - Стиль жизни SQL
Igor Chizhov
Ровно день? Тогда здесь происходит магия 😆
Буду рад объяснению на языке грязнокровок (фронтендеров-маглов)
источник

IC

Igor Chizhov in SqlCom.ru - Стиль жизни SQL
Vl@d
Это рекурсивный запрос, выводит все подразделения, которые находятся внутри @COLLABORATOR_SUBDIVIZION_ID
Если точнее, выводит само подразделение с ID = @COLLABORATOR_SUBDIVIZION_ID  и все его подчиненные подразделения.
источник

MC

Max Chistyakov in SqlCom.ru - Стиль жизни SQL
Подскажите, плиз, это за характер нагрузки? Ни разу не видел столько ожиданий, к тому же в бд master, к тому же от sa
источник

MC

Max Chistyakov in SqlCom.ru - Стиль жизни SQL
источник

A

Alexey in SqlCom.ru - Стиль жизни SQL
Sp_whoisactive будет нагляднее
источник

T

Totmir in SqlCom.ru - Стиль жизни SQL
Igor Chizhov
Если точнее, выводит само подразделение с ID = @COLLABORATOR_SUBDIVIZION_ID  и все его подчиненные подразделения.
Спасибо!
источник

MC

Max Chistyakov in SqlCom.ru - Стиль жизни SQL
ушло О_о
источник

IC

Igor Chizhov in SqlCom.ru - Стиль жизни SQL
Max Chistyakov
Подскажите, плиз, это за характер нагрузки? Ни разу не видел столько ожиданий, к тому же в бд master, к тому же от sa
Это Service Broker что-то делал. А вот что именно - сказать не возьмусь, не встречал таких диких ожиданий.
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
Брокер как правильно сказали ниже + полнотекстовый поиск.
источник

MC

Max Chistyakov in SqlCom.ru - Стиль жизни SQL
спасибо!
источник

MC

Max Chistyakov in SqlCom.ru - Стиль жизни SQL
Igor Chizhov
Это Service Broker что-то делал. А вот что именно - сказать не возьмусь, не встречал таких диких ожиданий.
а можно понять, почему ожидания дикие? Что нужно запустить в следующий раз, когда увижу такую картину?
источник

IC

Igor Chizhov in SqlCom.ru - Стиль жизни SQL
Боюсь, у меня недостаточно опыта с брокером, чтобы ответить на это вопрос...
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
Max Chistyakov
а можно понять, почему ожидания дикие? Что нужно запустить в следующий раз, когда увижу такую картину?
Брокер это асинхронный механизм который выполняет задачи из очереди. Нужно смотреть в очередь SB
источник

AL

Andrey Listochkin in SqlCom.ru - Стиль жизни SQL
Totmir
Taking fire! Need assistance!
Нужна помощь.

ОБъясните максимально подробно (sql учу ровно день), что происходит в этом запросе и какие данные он возвращает? Описание таблички дам в личку - бот удаляет сообщения со ссылками

USE WTDB;
declare @COLLABORATOR_SUBDIVIZION_ID bigint = 6308792087259208713; --ID подразделения сотрудника
with srec as (
   select
     s.id
     ,s.parent_object_id
     ,s.name
     ,s.code
   from subdivisions s
   where
     s.id=@COLLABORATOR_SUBDIVIZION_ID
   union all
   select
     s.id
     ,s.parent_object_id
     ,s.name
     ,s.code
   from subdivisions s
   join srec
     on srec.parent_object_id=s.id
 )
select
 *
from srec
Совет не по этому запросу, а в целом.

Когда видишь такую простыню sql,

1. выдели в ней подзапросы - куски SQL, которые тебе понятны со школы / универа / курсов (`select … from … where … group by …`)

2. Постарайся понять, что делает каждый из них. Если есть база с данными под рукой, попробуй их там запустиь и посмотри, что в результате приходит.

3. Между этими простыми блоками есть какая-то логическая связь. Попадаются варианты with (select … ), in (select … ), from (select … ) и т.д. Часть связей интуитивно понятна, часть - не очень (`union all` - что это?). Тогда идешь и быстро читаешь в интернете что это за зверь такой c простыми примерами.

Сделаешь так с 2-5ю большими запросами, и будешь чувствовать себя гораздо комфортнее.
источник

MC

Max Chistyakov in SqlCom.ru - Стиль жизни SQL
Dmitriy Ivanov
Брокер это асинхронный механизм который выполняет задачи из очереди. Нужно смотреть в очередь SB
спасибо!
источник