2014-09-24 75 views
0

我想創建一個具有智能自動完成的在線SQL編輯器。什麼是最好的辦法呢?爲SQL創建智能自動完成的最佳方法

如果我有空的輸入字段(| - 當前托架位置),編輯器必須表明選擇INSERTUPDATEDELETE

如果我有這樣的類型:SELECT * FROM |,編輯必須建議可用表的列表。但是,如果我返回到SELECT *,| FROM people,編輯者必須提示表的字段列表。

如果我有這樣的類型:SELECT p.name,a。| FROM people p LEFT JOIN address a ON p.address_id = a.id,編輯者必須建議列表字段地址表。

另外如何支持子查詢?

我想確定什麼建議編輯必須知道現在在哪裏馬車?在哪個SQL令牌。

AST樹適用於此嗎?如何處理無效的SQL語句?

+0

您將執行SQL的語法並使用它。這裏是一個開始的地方:http://www.savage.net.au/SQL/sql-2003-2.bnf.html。 – 2014-09-24 11:36:41

+0

你能描述更多細節嗎? – Medvedev 2014-09-24 12:01:19

回答

0

你需要實現一個後綴樹與SQL語法

當用戶類型的話,遍歷後綴樹,給從匹配節點自動完成的話

這與所有的孩子Google在輸入搜索字段時如何給出建議

相關問題