нужно ли ставить ';' точка с запятой перед CTE - PullRequest
0 голосов
/ 22 декабря 2010

нужно ли ставить ';' точка с запятой перед CTE? кто-нибудь есть эта идея?

Спасибо за повторы .........

1 Ответ

4 голосов
/ 22 декабря 2010

Только , если предыдущий оператор не заканчивается ;

Я не лично, потому что я использую ; в конце своих заявлений.

Когда я отвечаю здесь на SO, я делаю для ясности.

Само «WITH» может использоваться во многих местах, поэтому ; необходим для того, чтобы синтаксический анализатор мог правильно определить контекст WITH (ссылка CTE)

Придуманный пример: где разделитель операторов?

ALTER DATABASE foo SET OFFLINE WITH ROLLBACK IMMEDIATE SELECT * FROM bar

ALTER DATABASE foo SET OFFLINE WITH MYCTE AS (SELECT * FROM bar) SELECT * FROM MYCTE

То же самое относится к СБОРКА КАПЛИ или ВЫПОЛНИТЬ или ПЕРЕКОНФИГ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...