我正在考慮編寫一個用於生成T-SQL代碼的模板工具,它將包括如下所示的分隔段;T-SQL語言規範和學習規則
SELECT
~~idcolumn~~
FROM
~~table~~
WHERE
~~table~~.flag = 1
注意雙撇號分隔位?這是我的模板語言中的轉義序列的想法。但我想確定轉義序列是否有效 - 它絕不會在有效的T-SQL語句中出現。問題是,我找不到任何關於T-SQL語言的官方微軟描述。
有人知道T-SQL語言的官方規範,或者至少是lexing規則嗎?所以我可以對逃生順序做出明智的決定。
更新:
感謝迄今爲止的建議,但我不是尋找「~~」轉義序列的確認本身。我需要的是一個我可以參考的文檔,我可以指出並說'微軟說這個字符序列在T-SQL中是完全不可能的。'例如,microsoft發佈C#here的語言規範,其中包含有關可以將哪些字符轉換爲有效的C#程序的說明。 (請參閱pdf第67頁。)我正在尋找類似的參考。
雙波浪號:「~~」實際上是非常好的T-SQL。例如; 「(SELECT ~~ 1)」返回'1'。
看起來像重新創造一個商品輪子給我。 – dkretz
@le dorfier:嗨,我不確定商品輪是什麼? –
嗨 - 我指的是不斷改造的車輪... – dkretz