T-SQL是"图灵完成":这究竟是什么意思?

时间:2015-12-29 05:19:41

标签: sql sql-server tsql

来自维基百科:

  

T-SQL扩展了SQL标准以包含过程编程,   局部变量,字符串处理的各种支持函数,日期   处理,数学等,并更改DELETE和UPDATE   声明。这些附加功能使Transact-SQL Turing成为可能   完成。[引证需要]

https://en.wikipedia.org/wiki/Transact-SQL

这里有人可以简单地解释图灵完整性是什么以及为什么" SQL标准"是图灵不完整而不是图灵完全的扩展T-SQL?

1 个答案:

答案 0 :(得分:1)

"图灵完成"具有技术含义,但该术语通常用作"您可以编写代码来执行任意逻辑。 (例如商业逻辑)而不是"你只能将它用于有限的任务" (比如用XPath选择XML节点)。

实际上没有现代语言真正图灵完整,因为图灵完整性需要无限的记忆,现代计算机没有。

正如维基百科条目中所解释的,图灵完备语言真正需要的是存储和检索变量的能力,以及基于检索值的某种条件执行。这种语言可能非常难以使用。在此基础上创建了笑话语言。

总结:如果语言可以计算图灵机可以的每个功能,那么语言就是图灵完成。或者,如果它可以用于编写单磁带图灵机的仿真器。