讓我在OO語言中使用SQL的一件事就是必須在字元串中定義SQL語句.
當我以前在IBM大型機上工作時,這些語言使用SQL預處理器來解析本機代碼中的SQL語句,是以語句可以用明文SQL編寫而不會混淆字元串,例如在Cobol中有一個EXEC SQL. … END-EXEC文法結構,允許将純SQL語句嵌入Cobol代碼中.
to local variable HOSTVARIABLE>
EXEC SQL
SELECT COL_A, COL_B, COL_C
INTO :COLA, :COLB, :COLC
FROM TAB_A
WHERE COL_D = :HOSTVARIABLE
END_EXEC
…這使得SQL語句非常容易閱讀和閱讀檢查錯誤.在EXEC SQL …. END-EXEC令牌之間沒有對縮進,換行等的限制,是以您可以根據品味格式化SQL語句.
請注意,此示例适用于單行選擇,當需要多行結果集時,編碼不同(但仍然易于閱讀).
是以,以Java為例
>是什麼讓“舊COBOL”方法不受歡迎?不僅是SQL,而且使用這種方法可以使系統調用更具可讀性.我們稱之為嵌入式外語預處理器方法.
> SQL的嵌入式外語預處理器是否可用于實作?您是否會看到能夠在Java代碼中編寫本機SQL語句的好處?
編輯
我真的在問你是否認為OO語言中的SQL是一種回歸,如果沒有,那麼可以采取哪些措施來改善它.