VARCHAR我有這個表AUTO_INCREMENT與甲骨文
CREATE TABLE WishList(
idWishList VARCHAR2(40 BYTE) ,
WishListName VARCHAR2(40 CHAR) NOT NULL,
id_User VARCHAR2(40 BYTE) NOT NULL
)
現在我怎樣才能在oracle中使用AUTO_INCREMENT用VARCHAR?
VARCHAR我有這個表AUTO_INCREMENT與甲骨文
CREATE TABLE WishList(
idWishList VARCHAR2(40 BYTE) ,
WishListName VARCHAR2(40 CHAR) NOT NULL,
id_User VARCHAR2(40 BYTE) NOT NULL
)
現在我怎樣才能在oracle中使用AUTO_INCREMENT用VARCHAR?
您可以添加一個觸發器:
create or replace trigger some_trig_name
before insert on WishList
for each row
begin
:new.idWishList := to_char(your_sequence.nextval);
end some_trig_name;
在這個例子中我使用了一個序列,但你可以把任何你想要的
這將導致整個數字數據存儲在'varchar2'字段中。如果OP需要實際的字母數字數據,則需要在序列和字段之間實施某種翻譯方案。 – Allan
我記得,Oracle沒有auto_increment功能。它具有序列和開發商應該增加特殊功能像getNextId(),並用它在插入語句就像
insert into table (id,...) values(getNextId() ,..)
所以,你可以實現你自己的函數返回新的ID與自己的算法你的領域。
你所用VARCHAR AUTO_INCREMENT意思?像A,B,C,...,Z,AA,...,ZZ,AAA還是什麼? – chance
你需要給我們一個你的意思的例子。請發佈一些數據。 – APC
你是什麼意思由auto_increment與varchar?像A,B,C,...,Z,AA,...,ZZ,AAA還是什麼?是的 – Kohan95