我需要一個正則表達式(在c#中運行),它將包含Sql Update語句的字符串作爲輸入,並將返回要更新的列的列表。它應該能夠處理括號或不括號的列。從SQL語句中提取更新列的正則表達式
// Example Sql Statement
Update Employees
Set FirstName = 'Jim', [LastName] = 'Smith', CodeNum = codes.Num
From Employees as em
Join CodeNumbers as codes on codes.EmployeeID = em.EmployeeID
最後,我想返回一個IEnumerable或含列表:
- 姓
- 名字
- CodeNum
任何人有執行什麼好的建議?
更新:sql是用戶生成的,所以我必須解析Sql,因爲它是給定的。在我的情況下提取列名的目的是驗證用戶有權更新查詢中包含的列。
我絕對必須把我們的sql語句的列名稱(請參閱上面的更新)。 爲什麼你不認爲正則表達式是要走的路?我不是僅僅匹配在查詢中的單詞SET後面開始的以逗號分隔的「=」語句的左邊部分嗎? – 2009-01-14 18:44:49
我的回覆太長而無法發表評論,所以我把它作爲上面的修改。 – Glomek 2009-01-14 18:55:52