Difference between revisions of "Oracle"
Jump to navigation
Jump to search
Line 6: | Line 6: | ||
** Add | ** Add | ||
PROCESSES=200 | PROCESSES=200 | ||
− | |||
== FAQ == | == FAQ == | ||
=== How do I realize an auto-incrementing field? === | === How do I realize an auto-incrementing field? === | ||
+ | <syntaxhighlight lang="sql"> | ||
+ | CREATE TABLE MYTABLE ( | ||
+ | ID NUMBER(11, 0) NOT NULL | ||
+ | -- , FIELD | ||
+ | ); | ||
+ | |||
+ | CREATE SEQUENCE MYTABLE_ID_SEQ | ||
+ | START WITH 1 | ||
+ | INCREMENT BY 1 | ||
+ | NOMAXVALUE; | ||
+ | |||
+ | CREATE TRIGGER MYTABLE_ID_TRG | ||
+ | BEFORE INSERT ON MYTABLE | ||
+ | FOR EACH ROW | ||
+ | BEGIN | ||
+ | SELECT MYTABLE_ID_SEQ.NEXTVAL | ||
+ | INTO :NEW.ID | ||
+ | FROM DUAL; | ||
+ | END; | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === How do I rollback? === | ||
+ | <syntaxhighlight lang="sql"> | ||
+ | SAVEPOINT MYSAVEPOINT; | ||
+ | -- ... | ||
+ | ROLLBACK TO MYSAVEPOINT; | ||
+ | </syntaxhighlight> |
Revision as of 23:20, 17 June 2011
Configuration
- ORA-12516: TNS:listener could not find available handler with matching protocol stack
- Edit %oracle_home%/database/init<SID>.ora
- Add
PROCESSES=200
FAQ
How do I realize an auto-incrementing field?
CREATE TABLE MYTABLE (
ID NUMBER(11, 0) NOT NULL
-- , FIELD
);
CREATE SEQUENCE MYTABLE_ID_SEQ
START WITH 1
INCREMENT BY 1
NOMAXVALUE;
CREATE TRIGGER MYTABLE_ID_TRG
BEFORE INSERT ON MYTABLE
FOR EACH ROW
BEGIN
SELECT MYTABLE_ID_SEQ.NEXTVAL
INTO :NEW.ID
FROM DUAL;
END;
How do I rollback?
SAVEPOINT MYSAVEPOINT;
-- ...
ROLLBACK TO MYSAVEPOINT;