iT邦幫忙

0

請問像這種表身跟表頭互相是 FK 的情況下,要改單號怎麼做?

  • 分享至 

  • xImage

xxx

請問像這種表身跟表頭互相是 FK 的情況下,要改單號怎麼做?
知道這需求很奇怪,但上級交代要改單號

目前想到拿掉 FK 後再修改,但這樣感覺怪怪的吧...

基本上~我不綁單號的~綁的是流水號~
單號是給有需要的特殊狀況下修改的~
ERP好難 iT邦新手 3 級 ‧ 2020-10-15 08:38:39 檢舉
感謝!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
rogeryao
iT邦超人 8 級 ‧ 2020-10-14 16:49:23
最佳解答

1.建議保留原單號並註明作廢原因;否則會形成跳號,無法解釋跳號原因及跳號的單號的內容
2.用 INSERT INTO ...SELECT ..FROM 語法將原單號內容複製到新單號
(原程式或許有複製單據的功能,那就不用下 SQL 了)
3.產生新單號後在作廢原單號

ERP好難 iT邦新手 3 級 ‧ 2020-10-15 08:38:31 檢舉

感謝!

1
japhenchen
iT邦超人 1 級 ‧ 2020-10-14 16:50:53

不能改單號,除非你把主表PK和身表FK重設,也重建關連,但一定會有其他東西一起受影響

只能在設計之前就要規劃好,不能任意更動資料關聯

ERP好難 iT邦新手 3 級 ‧ 2020-10-15 08:38:27 檢舉

感謝!

1
dscwferp
iT邦高手 1 級 ‧ 2020-10-14 22:43:59

先用
SELECT * INTO MF_POS201014 FROM MF_POS WHERE OS_NO='...'
SELECT * INTO TF_POS201014 FROM TF_POS WHERE OS_NO='...'
備份到暫存table
然後刪除
再從 暫存table 改單號
改完後 再
INTO MF_POS SELECT * FROM MF_POS201014 WHERE OS_NO='...'
INTO TF_POS SELECT * FROM TF_POS201014 WHERE OS_NO='...'
COPY 回來!
這樣就改好單號了!

ERP好難 iT邦新手 3 級 ‧ 2020-10-15 08:38:36 檢舉

感謝!

我要發表回答

立即登入回答