wrap drop statements inside blocks to avoid exception when running first time

This commit is contained in:
Peter Kofler 2014-07-08 23:50:04 +02:00
parent 5af2bcd4ac
commit 316476a258
2 changed files with 40 additions and 10 deletions

View File

@ -1,5 +1,14 @@
PROMPT Creating Table 'ITEM' PROMPT Creating Table 'ITEM'
DROP TABLE item;
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE item';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;
CREATE TABLE item CREATE TABLE item
( (
name VARCHAR2(100) NOT NULL, name VARCHAR2(100) NOT NULL,
@ -7,3 +16,5 @@ CREATE TABLE item
quality NUMBER(6) NOT NULL quality NUMBER(6) NOT NULL
); );
/ /
SHOW ERRORS;

View File

@ -1,5 +1,14 @@
PROMPT Creating Table 'ITEM' with auto-increment primary key 'ID' PROMPT Creating Table 'ITEM' with auto-increment primary key 'ID'
DROP TABLE item;
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE item';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;
CREATE TABLE item CREATE TABLE item
( (
id NUMBER(6) NOT NULL, id NUMBER(6) NOT NULL,
@ -13,7 +22,15 @@ ALTER TABLE item ADD (
CONSTRAINT item_pk PRIMARY KEY (ID)); CONSTRAINT item_pk PRIMARY KEY (ID));
/ /
DROP SEQUENCE item_id_seq; BEGIN
EXECUTE IMMEDIATE 'DROP SEQUENCE item_id_seq';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -2289 THEN
RAISE;
END IF;
END;
CREATE SEQUENCE item_id_seq CREATE SEQUENCE item_id_seq
INCREMENT BY 1 INCREMENT BY 1
START WITH 1 START WITH 1
@ -29,3 +46,5 @@ BEGIN
SELECT item_id_seq.NEXTVAL INTO :new.id FROM dual; SELECT item_id_seq.NEXTVAL INTO :new.id FROM dual;
END; END;
/ /
SHOW ERRORS;