2017-04-18 51 views
0

我剛剛創建了自動增量主鍵的SQL觸發器。它的工作原理,但我想擁有前綴(0001,0002 ... 9999)的ID。我發現我應該使用LPAD,但每次嘗試使用時都會顯示錯誤。觸發器中的LPAD函數

CREATE OR REPLACE TRIGGER INSERT_PRIMARY_KEY 
BEFORE INSERT ON products 
FOR EACH ROW 
BEGIN 
    SELECT produkt_sequence.nextval 
    into :new.id_product 
    from dual; 
END; 
+0

如果你想要你的''''前綴'000' ..然後'id'應該是'varchar2'類型而不是'number' ... – Plirkee

+0

你如何使用'lpad',以及什麼錯誤會給你帶來什麼?你也可以使用'to_char()'。你確定你確實希望你的ID被存儲爲一個字符串 - 而不是一個可以填充的數字,如果有必要的話可以填充,或者使用一個與PK分開的虛擬列 - 並且限制爲四位數字? –

回答

0

謝謝大家的幫助!問題是類型的。我有一個號碼。如果我想使用LPAD,它必須是varchar2。再次感謝你。