像是 oracle 的 pl/sql,sql server 的 t-sql
最近看一個新同事的code (有3年資歷)
明明可以使用 t-sql 設定變數的方式,一個 sql script 解決
但卻堅持要用 python + ansi sql 解決...
他說 : 「這樣以後換資料庫才比較方便」
我個人觀點是,中途換資料庫情況在我工作幾年情況完全沒遇過
覺得這樣是過度設計了
並且個資料庫廠商提供的方言,很多時候可以提供更高速度、方便的工具
不應該不使用
我的想法剛好相反,我寧可把精神放在 sql procedure 上面。
「這樣以後換程式語言才比較方便」
這也是一種觀點與方式.
補充一下我的想法,
主要通行的資料庫,數十年下來,就那麼幾個最常見,
程式語言則不斷推陳出新,不同載具也有不同的程式工具,
當我把 store procedure 寫完整,
那麼,不管用什麼語言來呼叫,都是一個函數搞定。
資料庫那麼強大的功能不用,只取簡單的 select,insert,delete等幾個指令(我的工程師就是),那不如直接存成文字檔就好了。
我很久以前在SI公司,會希望把寫出來的程式包裝成產品,所以那時的觀念和您那位同事一樣,不管客戶偏好的資料庫是那一種,我的程式都可以賣進去~~
後來轉到製造業,就和樓主的環境類似,公司ERP系統是內部自行開發的,資料庫用的就是MS SQL,資料量也就不多,感覺公司也不可能讓我們換更貴的資料庫,才開始用比較多的T-SQL
可是這兩年升級資料庫,覺得其實MS SQL也滿貴的,但想改換PosgreSQL/MariaDB就不好換了....