Извините, я должен не согласиться.Microsoft SQL Server основан на Sybase 7.0.Таким образом, не может быть общих табличных выражений и пользовательских функций, есть эквивалентные способы сделать то же самое.
Например, CTE можно сделать либо во вложенных запросах, либо с помощью временных таблиц, используя знак числа (#) перед именем таблицы.
Для пользовательских функций создайте хранимую процедуру с простым кодом SQL и вызовите ее через функцию exec, например, «exec my_sql_code».Это позволяет вложить хранимые процедуры.
Добрый SQL, спокойной ночи.