SQL или даже полный по Тьюрингу TSQL?

Чтобы представить альтернативное решение: вы можете изменить secret_key_base - если аутентификация выполняется в другом приложении.

157
задан Matthew Vines 22 May 2009 в 21:21
поделиться

3 ответа

Строго говоря, SQL теперь является полноценным языком Тьюринга, потому что последний стандарт SQL включает «постоянные хранимые модули» (PSM). Короче говоря, PSM - это стандартная версия языка PL / SQL в Oracle (и других подобных процедурных расширениях существующих СУБД).

С включением этих PSM, SQL стал полным по Тьюрингу

15
ответ дан 23 November 2019 в 21:45
поделиться

http: / /channel9.msdn.com/forums/TechOff/431432-SQL-Turing-Completeness-question/

- это обсуждение этой темы. Цитата:

SQL как таковой (т.е. стандарт SQL92) не является полным по Тьюрингу. Тем не мение, многие языки, производные от SQL, такие как Oracle PL / SQL и T-SQL и другие SQL Server завершены по Тьюрингу.

PL / SQL и T-SQL определенно квалифицируются как языки программирования, вопрос о том, соответствует ли сам SQL92, остается открытым для обсуждения. Некоторые люди утверждают, что любой фрагмент кода, который сообщает компьютеру, что делать, считается языком программирования; по этому определению SQL92 является одним из них, но также, например, HTML. Определение довольно расплывчатое, и спорить о нем бессмысленно.

27
ответ дан 23 November 2019 в 21:45
поделиться

ANSI оператор select, как он изначально определен в SQL-86, не является полным по Тьюрингу, поскольку он всегда завершается (за исключением рекурсивных CTE и только если реализация поддерживает произвольно глубокую рекурсию). Поэтому невозможно смоделировать никакую другую машину Тьюринга. Хранимые процедуры являются тьюринговыми, но это обман ;-)

.
12
ответ дан 23 November 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: