我想在Oracle sql中創建一個表。 我沒有創建表和我創建的序列工作正常。 現在我可以使用表格撥打姓名和電子郵件,表格將爲我創建PK。 的PK ID將是這樣的:Oracle:自定義自動增量:C0001 C0002
10001 | xxx | xxxx
10002 | xxx | xxxx
10003 | xxx | xxxx
我的問題是,我該如何使用功能或觸發自動更新我的ID,使之成爲:
QWER10001 | xxx | xxxx
QWER10002 | xxx | xxxx
QWER10003 | xxx | xxxx
我知道如何更新手動,但我希望它可以把我的ID前面的自定義文本,當我把信息。
可以設置文字,當數字達到最大值時無需更改文字。
我花了幾個小時尋找解決方案,但無法找到合適的解決方案,請大家幫忙!
我也做了一些調查研究網上,現在我有這樣的:
CREATE OR REPLACE TRIGGER "PROFILE_T1"
BEFORE INSERT OR UPDATE
ON "PROFILE"
FOR EACH ROW
BEGIN
:NEW.PROFILEID := 'WCCU' sequence.PROFILEIDUSE
END;
但這並沒有工作。 PROFILEID是PK並自動遞增。 PROFILEIDUSE是使其自動遞增的順序。 WCCU是我想在輸入每個數據時添加到PK的文本。
當前如何插入主鍵?我的猜測是,有一個'BEFORE INSERT'觸發器將其設置爲sequence.nextval。在這種情況下,簡單地將您想要的文本連接到序列值。 ' 'QWER' || sequence.nextval'。 – Noel
謝謝@Noel你是對的!我現在想出瞭如何去做。創建或替換觸發器「PROFILE_T1」 之前 插入「PROFILE」 每行 開始 :new.PROFILEID:='WCCU'|| PROFILEIDUSE.nextval; 結束; –