1
我想寫什麼應該表面上,是相對容易的SQL查詢 - 但是,我不能讓他們工作。令人難以忍受的SQL問題
是否可以編寫一個查詢,看起來像這樣:
select t.name
from (select *
from mystoredproc(1,2,3) as t)
where t.name = 'foobar'
兩個問題上面的查詢:
1)首先關閉所有,上述dosent工作的陳述。我的數據庫引擎(MySQL的)抱怨:
ERROR 1054(42S22):在 '字段列表'
2)我想使用返回表t未知列 't.name' 在一個自我加入。但是,我不想讓 必須再次調用mystoredproc(...) ,因爲它非常昂貴的調用。
任何人都知道如何解決這些問題?
順便說一句,即使我使用MySQL的(現在),我寧願如有遞上SQL代碼段是數據庫無關的(即ANSI SQL)
不錯...潛在的問題,雖然這是一個網絡後端,我需要區分成功的調用。我正在考慮爲每組記錄自動生成一個密鑰,但我可能會過分複雜 - 這裏有任何想法..? – 2009-12-19 17:49:18
只有在創建臨時表時纔會看到臨時表。所以,即使你有幾個併發調用,所有的CREATE TEMPORARY TABLE myTempTable,每個連接都只能訪問該表中的自己的一組數據。儘管您可能需要使用事務,否則該表可能會在查詢中消失。 – 2009-12-19 17:54:11
請查閱使用說明書:http://dev.mysql.com/doc/refman/5.0/en/create-table.html – 2009-12-19 17:55:05