Home » SQL & PL/SQL » SQL & PL/SQL » How to auto increment (Oracle 11g)
|
|
|
|
Re: How to auto increment [message #571514 is a reply to message #571510] |
Mon, 26 November 2012 13:10   |
Solomon Yakobson
Messages: 3305 Registered: January 2010 Location: Connecticut, USA
|
Senior Member |
|
|
raymak wrote on Mon, 26 November 2012 13:51So how do I create a sequence and trigger that will automatically start value with SG and keeps auto incrementing?
Based on SG0101 max sequence can go up to is SG9999. If so:
1. Create sequence with minvalue 101 and maxvalue 9999.
2. Create trigger which assigns PK column value 'SG' || TO_CHAR(your_sequence.NEXTVAL,'FM9999')
SY.
|
|
|
|
|
Re: How to auto increment [message #571526 is a reply to message #571510] |
Mon, 26 November 2012 20:41   |
 |
raymak
Messages: 15 Registered: November 2012
|
Junior Member |
|
|
So here is what I did so far:
I created sequence called MEMBERID_SEQ and trigger called bi_MEMBERID
Here are the codes:
CREATE SEQUENCE "RAHIL"."MEMBERID_SEQ" MINVALUE 1
MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 211 CACHE 20 NOORDER NOCYCLE ;
Trigger:
create or replace
trigger "bi_MEMBERID"
before insert on "CUSTOMERS"
for each row
begin
if :new."MEMBERID" is null then
select 'SG' || To_char(MEMBERID_SEQ.nextval,'FM9999') into :new."MEMBERID" from sys.dual;
end if;
end;
So when I add the following command below, I get an error called:
SQL> Insert into CUSTOMERS (CUSTID,MEMBERID,FNAME,MNAME,LNAME,CONTACTNAME,BNAME
,FEDERALID,BADDRESS,BCITY,BSTATE,BZIPCODE,MAILADDRESS,
MCITY,MSTATE,MZIPCODE,TELE
PHONE,CELLPHONE,FAX,EMAIL,JOINDATE,STATUS,ZONE)
values (CUSTOMERS_SEQ.nextval,'M
EMBERID_SEQ.nextval','James',null,null,null,null,null,null,
null,null,null,null,n
ull,null,null,null,null,null,null,null,null,null);
Insert into CUSTOMERS (CUSTID,MEMBERID,FNAME,MNAME,LNAME,CONTACTNAME,BNAME,FEDE
RALID,BADDRESS,BCITY,BSTATE,BZIPCODE,MAILADDRESS,MCITY,
MSTATE,MZIPCODE,TELEPHONE
,CELLPHONE,FAX,EMAIL,JOINDATE,STATUS,ZONE)
values (CUSTOMERS_SEQ.nextval,'MEMBER
ID_SEQ.nextval','James',null,null,null,null,null,null,
null,null,null,null,null,n
ull,null,null,null,null,null,null,null,null)
*
ERROR at line 1:
ORA-00001: unique constraint (RAHIL.CUSTOMERS_PK) violated
Insert into CUSTOMERS (CUSTID,MEMBERID,FNAME,MNAME,LNAME,CONTACTNAME,BNAME,FEDERALID,BADDRESS,BCITY,
BSTATE,BZIPCODE,MAILADDRESS,MCITY,MSTATE,MZIPCODE,TELEPHONE,CELLPHONE,FAX,EMAIL,JOINDATE,STATUS,ZONE)
values (CUSTOMERS_SEQ.nextval,'MEMBERID_SEQ.nextval','James',null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null);
[Updated on: Tue, 27 November 2012 01:07] by Moderator Report message to a moderator
|
|
|
|
|
|
|
|
Goto Forum:
Current Time: Thu Sep 04 18:26:58 CDT 2025
|