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'
DROP TABLE item;
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE item';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;
CREATE TABLE item
(
name VARCHAR2(100) NOT NULL,
@ -7,3 +16,5 @@ CREATE TABLE item
quality NUMBER(6) NOT NULL
);
/
SHOW ERRORS;

View File

@ -1,5 +1,14 @@
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
(
id NUMBER(6) NOT NULL,
@ -13,7 +22,15 @@ ALTER TABLE item ADD (
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
INCREMENT BY 1
START WITH 1
@ -29,3 +46,5 @@ BEGIN
SELECT item_id_seq.NEXTVAL INTO :new.id FROM dual;
END;
/
SHOW ERRORS;