天天看點

《PostgreSQL伺服器程式設計》一一1.6 資料清洗

本節書摘來自華章計算機《postgresql伺服器程式設計》一書中的第1章,第1.6節,作者:(美)hannu krosing, jim mlodgenski, kirk roybal 著

,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

我們注意到雇員的姓名經常會出現不一緻的大小寫。如果通過添加限制,大小寫的一緻性就很容易得以加強:

《PostgreSQL伺服器程式設計》一一1.6 資料清洗

然而,更好的辦法是隻要確定名字被另存為大寫字母就可以了。而完成這樣的操作,最簡單的辦法就是通過觸發器:

《PostgreSQL伺服器程式設計》一一1.6 資料清洗

現在,針對新雇員的下一個set_salary()?函數調用,将會使用大寫字母的形式插入emp_name:

《PostgreSQL伺服器程式設計》一一1.6 資料清洗

由于大寫的轉換發生在觸發器内部,是以函數傳回仍然顯示為小寫的名字,但是在資料庫中它卻是大寫的:

《PostgreSQL伺服器程式設計》一一1.6 資料清洗

在修複了現存的混合大小寫的emp_names之後,我們可以通過添加限制的形式,確定以後所有的emp_names都會顯示為大寫。

《PostgreSQL伺服器程式設計》一一1.6 資料清洗

如果這個行為需要用于更多的地方,一個合理的做法就是定義一個新類型u_text,而這個類型一直作另存為大寫形式。針對這個方法,我們将在8.6.1節中做更深入的闡述。

繼續閱讀