Ini muncul di kantor hari ini. Saya tidak punya rencana melakukan hal seperti itu, tetapi secara teoritis Anda dapat menulis kompiler dalam SQL? Pada pandangan pertama tampaknya bagi saya turing lengkap, meskipun sangat rumit untuk banyak kelas masalah.
Jika belum selesai, apa yang dibutuhkan untuk menjadi seperti itu?
Catatan: Saya tidak punya keinginan untuk melakukan apa pun seperti menulis kompiler dalam SQL, saya tahu itu akan menjadi hal yang konyol untuk dilakukan, jadi jika kita dapat menghindari diskusi itu saya akan sangat menghargainya.
sumber
TSQL adalah Turing Lengkap karena kita dapat membuat juru bahasa BrainFuck dalam TSQL.
Interpreter BrainFuck dalam SQL - GitHub
Kode yang disediakan berfungsi di dalam memori dan tidak mengubah database.
sumber
https://web.archive.org/web/20110807062050/http://channel9.msdn.com/forums/TechOff/431432-SQL-Turing-Completeness-question
Apakah diskusi tentang topik ini. Kutipan:
sumber
Sebenarnya, SQL sekarang menjadi bahasa yang lengkap karena standar SQL terbaru termasuk "Persistent Stored Modules" (PSMs). Singkatnya, PSM adalah versi standar bahasa PL / SQL di Oracle (dan ekstensi prosedural serupa dari DBMS saat ini).
Dengan dimasukkannya PSM ini, SQL menjadi turing lengkap
sumber
Pernyataan pilih ANSI, sebagaimana aslinya didefinisikan dalam SQL-86, tidak turing lengkap karena selalu berakhir (kecuali untuk CTE rekursif dan hanya jika implementasi mendukung rekursi mendalam sewenang-wenang). Oleh karena itu tidak mungkin untuk mensimulasikan mesin turing lainnya. Prosedur tersimpan sudah lengkap tapi itu curang ;-)
sumber
Oracle's PLSQL dan Microsoft TSQL keduanya sudah selesai. Pernyataan pilih Oracle itu sendiri juga turing lengkap.
sumber