У меня есть запрос базовой структурыПорядок выполнения запроса
with cte1 as (Select *query on tbl1*)
,cte2 as (select *query on tbl1*
Exception join cte1)
Select * from cte1
union all
Select * from cte2
И я действительно понятия не имею, могу ли я быть уверен, что это будет вести себя, как ожидается, - каждый из КТР производят подобные строки, но будет иметь разный логика - я хочу, чтобы cte1 прошел через таблицу с ее логикой, а затем cte2 снова просмотрел ту же таблицу, после того, как cte1 выбрал все записи, которые относятся к ней, будет ли это работать?
Редактировать: Хорошо, я создал некоторые данные и наметил, где я заинтересован. Я не уверен, как интерпретировать ответ philipxy с вышеизложенным - я могу понять из его ответа, чего ожидать от cte1, но я не совсем понимаю, что такое cte2 - делает ли cte1 «объявленным» до cte2, так что их значения заблокирован, как только запрос начнется?
Вы пытались просмотреть план доступа к запросу? – zack
Пожалуйста, отредактируйте свой вопрос, чтобы проследить пример, показывающий действия, которые вы боитесь, может случиться. Ваше сообщение не говорит достаточно об этом, чтобы мы знали, что вы имеете в виду, то есть, что вы имеете в виду, как работает SQL. – philipxy
Я отредактировал с моими проблемами, спасибо –