사용자 도구

사이트 도구


tabledesign

문서의 이전 판입니다!


테이블 디자인에 대한 단상

1. 하지 말아야 할 짓

- 이식성을 떨어드리는 SQL

아래와 같이 database 이름을 sql에 포함하는 것
 SELECT
  `sec_dev`.`tbl_ac_code`.`AC_CODE` AS `AC_CODE`,
  concat(`sec_dev`.`tbl_ac_code`.`AC_CD1`, `sec_dev`.`tbl_ac_code`.`AC_CD2`,     REPLACE(`sec_dev`.`tbl_ac_code`.`AC_CD3`, '0', ''), REPLACE(`sec_dev`.`tbl_ac_code`.`AC_CD4`, '000', ''), REPLACE(`sec_dev`.`tbl_ac_code`.`AC_SEQ`, '000', '')) AS `AC_TOP`,
  ifnull(`sec_dev`.`tbl_ac_code`.`AC_NAME`, ifnull(`sec_dev`.`tbl_ac_code`.`AC_NM4`, ifnull(`sec_dev`.`tbl_ac_code`.`AC_NM3`, `sec_dev`.`tbl_ac_code`.`AC_NM2`))) AS `AC_NAME`,
  concat(CASE WHEN (`sec_dev`.`tbl_ac_code`.`AC_CD3` = '0' AND `sec_dev`.`tbl_ac_code`.`AC_CD4` = '000' AND `sec_dev`.`tbl_ac_code`.`AC_SEQ` = '000') THEN '' WHEN (`sec_dev`.`tbl_ac_code`.`AC_CD4` = '000' AND `sec_dev`.`tbl_ac_code`.`AC_SEQ` = '000') THEN '  ' WHEN `sec_dev`.`tbl_ac_code`.`AC_SEQ` = '000' THEN '    ' ELSE '      ' END, ifnull(`sec_dev`.`tbl_ac_code`.`AC_NAME`, ifnull(`sec_dev`.`tbl_ac_code`.`AC_NM4`, ifnull(`sec_dev`.`tbl_ac_code`.`AC_NM3`, `sec_dev`.`tbl_ac_code`.`AC_NM2`)))) AS `AC_NAME_KOR`,
  `sec_dev`.`tbl_ac_code`.`CR_DR_CHK` AS `CR_DR_CHK`
 FROM
  `sec_dev`.`tbl_ac_code`
 WHERE
  `sec_dev`.`tbl_ac_code`.`AC_CD2` <> 0
  AND `sec_dev`.`tbl_ac_code`.`CODE_CHK` <> 'N'
 ORDER BY
  c
tabledesign.1755095617.txt.gz · 마지막으로 수정됨: (바깥 편집)