Guest User

Untitled

a guest
Jun 26th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. CREATE TABLE "USER"
  2. (
  3. USER_ID NUMBER(10) NOT NULL,
  4. CREATOR_USER_FK NUMBER(10) NOT NULL,
  5. ...
  6. PRIMARY KEY (USER_ID)
  7. );
  8. CREATE SEQUENCE SEQ_USER START WITH 1 INCREMENT BY 1;
  9. CREATE TRIGGER "USER_ID_SEQ_INC" BEFORE
  10. INSERT ON "USER" FOR EACH ROW BEGIN
  11. SELECT SEQ_USER.nextval
  12. INTO :new.USER_ID
  13. FROM DUAL;
  14. END;
  15.  
  16. ...
  17. <jdbc:initialize-database data-source="dataSource"
  18. ignore-failures="DROPS" enabled="${jdbc.enableSqlScripts}">
  19. <jdbc:script location="${jdbc.initLocation}" />
  20. <jdbc:script location="${jdbc.dataLocation}" />
  21. </jdbc:initialize-database>
  22. ...
  23.  
  24. DROP SEQUENCE SEQ_USER;
  25. DROP TABLE "USER" CASCADE CONSTRAINTS;
  26. PURGE TABLE "USER";
  27. CREATE TABLE "USER"
  28. (
  29. USER_ID NUMBER(10) NOT NULL,
  30. CREATOR_USER_FK NUMBER(10) NOT NULL,
  31. PRIMARY KEY (USER_ID)
  32. );
  33. ALTER TABLE "USER" ADD CONSTRAINT FK_USER_CUSER FOREIGN KEY (CREATOR_USER_FK) REFERENCES "USER" (USER_ID);
  34. CREATE SEQUENCE SEQ_USER START WITH 1 INCREMENT BY 1;
  35. CREATE TRIGGER "USER_ID_SEQ_INC" BEFORE
  36. INSERT ON "USER" FOR EACH ROW
  37. WHEN (new.USER_ID IS NULL)
  38. BEGIN
  39. SELECT SEQ_USER.nextval
  40. INTO :new.USER_ID
  41. FROM DUAL;
  42. END;
  43. /
  44. ALTER TRIGGER "USER_ID_SEQ_INC" ENABLE;
  45.  
  46. @Before
  47. public void executeSomeSql() {
  48. Connection c;
  49. try {
  50. c = dataSource.getConnection();
  51. c.createStatement()
  52. .execute("CREATE TABLE "USER" (USER_ID NUMBER(10) NOT NULL, CREATOR_USER_FK NUMBER(10) NOT NULL, PRIMARY KEY (USER_ID))");
  53. c.createStatement()
  54. .execute("CREATE SEQUENCE SEQ_USER START WITH 1 INCREMENT BY 1");
  55. c.createStatement()
  56. .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;");
  57. } catch (SQLException e) {
  58. logger.debug(e);
  59. }
  60. }
Add Comment
Please, Sign In to add comment