2010-10-23 19 views
4

This是一個非常有趣的wiki文章,講述如何打印自己的源代碼而不訪問物理源文件(在文件系統中)的程序。文章中的例子包括C和Scheme quine程序(是的,看起來它們被稱爲那樣)。我記得很久以前(大約5年)有人問我是否可以寫一個「返回自己」的SQL查詢。 (當時我完全沒有給出任何想法)。但在閱讀這篇文章後,我回憶起那件事。現在我想說,問這個問題的人不是100%可信的,因爲他很可能不知道他在說什麼。但也許這是可能的?那麼,有沒有人知道是否存在quine SQL查詢,無論「返回本身」可能意味着在這種情況下。謝謝。quine(self-producing)SQL查詢

+0

社區維基... – fredley 2010-10-23 21:38:41

+0

@fredley:現在這是NIT社區的wiki。這是一個編程問題,它有一個正確的答案。或者「不,這是不可能的(希望帶有證明鏈接)」或者「是的,存在quine查詢。這裏是:」... – 2010-10-23 21:39:57

+1

谷歌有例子。你應該偶爾使用Google。這對這種情況非常有幫助。 http://blogs.msdn.com/b/khen1234/archive/2005/10/26/485477.aspx – 2010-10-23 21:40:05

回答

7

SQL Server版本,從here

SELECT REPLACE(REPLACE('SELECT REPLACE(REPLACE("$",CHAR(34),CHAR(39)),CHAR(36),"$") AS Quine',CHAR(34),CHAR(39)),CHAR(36),'SELECT REPLACE(REPLACE("$",CHAR(34),CHAR(39)),CHAR(36),"$") AS Quine') AS Quine

2

Oracle版本:

SELECT REPLACE(REPLACE('SELECT REPLACE(REPLACE("$",CHR(34),CHR(39)),CHR(36),"$") AS Quine FROM dual',CHR(34),CHR(39)),CHR(36),'SELECT REPLACE(REPLACE("$",CHR(34),CHR(39)),CHR(36),"$") AS Quine FROM dual') AS Quine FROM dual