Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE "USER"
- (
- USER_ID NUMBER(10) NOT NULL,
- CREATOR_USER_FK NUMBER(10) NOT NULL,
- ...
- PRIMARY KEY (USER_ID)
- );
- CREATE SEQUENCE SEQ_USER START WITH 1 INCREMENT BY 1;
- CREATE TRIGGER "USER_ID_SEQ_INC" BEFORE
- INSERT ON "USER" FOR EACH ROW BEGIN
- SELECT SEQ_USER.nextval
- INTO :new.USER_ID
- FROM DUAL;
- END;
- ...
- <jdbc:initialize-database data-source="dataSource"
- ignore-failures="DROPS" enabled="${jdbc.enableSqlScripts}">
- <jdbc:script location="${jdbc.initLocation}" />
- <jdbc:script location="${jdbc.dataLocation}" />
- </jdbc:initialize-database>
- ...
- DROP SEQUENCE SEQ_USER;
- DROP TABLE "USER" CASCADE CONSTRAINTS;
- PURGE TABLE "USER";
- CREATE TABLE "USER"
- (
- USER_ID NUMBER(10) NOT NULL,
- CREATOR_USER_FK NUMBER(10) NOT NULL,
- PRIMARY KEY (USER_ID)
- );
- ALTER TABLE "USER" ADD CONSTRAINT FK_USER_CUSER FOREIGN KEY (CREATOR_USER_FK) REFERENCES "USER" (USER_ID);
- CREATE SEQUENCE SEQ_USER START WITH 1 INCREMENT BY 1;
- CREATE TRIGGER "USER_ID_SEQ_INC" BEFORE
- INSERT ON "USER" FOR EACH ROW
- WHEN (new.USER_ID IS NULL)
- BEGIN
- SELECT SEQ_USER.nextval
- INTO :new.USER_ID
- FROM DUAL;
- END;
- /
- ALTER TRIGGER "USER_ID_SEQ_INC" ENABLE;
- @Before
- public void executeSomeSql() {
- Connection c;
- try {
- c = dataSource.getConnection();
- c.createStatement()
- .execute("CREATE TABLE "USER" (USER_ID NUMBER(10) NOT NULL, CREATOR_USER_FK NUMBER(10) NOT NULL, PRIMARY KEY (USER_ID))");
- c.createStatement()
- .execute("CREATE SEQUENCE SEQ_USER START WITH 1 INCREMENT BY 1");
- c.createStatement()
- .execute("CREATE OR REPLACE TRIGGER "USER_ID_SEQ_INC" BEFORE INSERT ON "USER" FOR EACH ROW WHEN (new.USER_ID IS NULL) BEGIN SELECT SEQ_USER.nextval INTO :new.USER_ID FROM DUAL; END;");
- } catch (SQLException e) {
- logger.debug(e);
- }
- }
Add Comment
Please, Sign In to add comment