08 April 2010

Lookup and Nullable Columns

When using Lookup Failure = Continue, set reference link non-key columns to be NULLABLE even if the reference data is NOT NULLABLE

เพื่อเป็นการยืนยันว่า ถ้า lookup ไม่เจอ มันจะใส่ค่า NULL มาให้ใน output แน่ๆ ทำให้เรา check ได้ง่ายว่า record ไหนบ้างมี lookup ไม่เจอ

ถ้าเราดื้อจะ set reference like non-key columns to be NOT NULLABLE สิ่งที่เกิดขึ้นคือ มันจะใส่ค่า default value มาให้กรณีที่ lookup ไม่เจอ

ทำให้เวลาจะไปเขียนดักว่า record ไหนบ้างที่ lookup ไม่เจอใน step ถัดไปก็ยุ่งยากขึ้นไปอีก

ไอ้ default value เนี่ย มันคืออะไรหล่ะ 
  • ถ้าเป็น Integer, default value = 0 เห็นมั้ยว่า เราจะแยก 0 จริงๆ กับ 0 ที่เป็น default value ไม่ออกละ
  • ถ้าเป็น varchar, default value คือ empty string ซึ่งไม่ใช่ null นะ ใช้ฟังก์ชั่น isnull() มันก็จะบอกว่า ไม่ใช่ null หึหึ
  • ถ้าเป็น char, default value คือ $APT_STRING_PADCHAR

No comments: