Before After Oracle RDBMS 11gR2 - Solving a Sudoku using Recursive Subquery Factoringという海外の記事を見つけて、これはスゲーwwと思ったんだ。 で、Oracleなんかよりも自分が慣れ親しんだ PostgreSQL でも、8.4で再帰SQLが出来るようになったからやってみたい!ってことでやってみた。 Oracleスペシャルな関数とかが無かったりしたのでちょこちょこと直したけど基本は同じです*1。 こうして上手く動くと感動するわー。 WITH RECURSIVE x(s, ind) AS ( SELECT sud, position(' ' in sud) AS ind FROM (SELECT '53 7 6 195 98 6 8 6 34 8 3 17 2 6 6 28 419 5 8 79'::text