mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 12:22:12 +00:00
wrap drop statements inside blocks to avoid exception when running first time
This commit is contained in:
parent
5af2bcd4ac
commit
316476a258
@ -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;
|
||||||
|
|||||||
@ -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,19 +22,29 @@ ALTER TABLE item ADD (
|
|||||||
CONSTRAINT item_pk PRIMARY KEY (ID));
|
CONSTRAINT item_pk PRIMARY KEY (ID));
|
||||||
/
|
/
|
||||||
|
|
||||||
DROP SEQUENCE item_id_seq;
|
BEGIN
|
||||||
CREATE SEQUENCE item_id_seq
|
EXECUTE IMMEDIATE 'DROP SEQUENCE item_id_seq';
|
||||||
INCREMENT BY 1
|
EXCEPTION
|
||||||
START WITH 1
|
WHEN OTHERS THEN
|
||||||
|
IF SQLCODE != -2289 THEN
|
||||||
|
RAISE;
|
||||||
|
END IF;
|
||||||
|
END;
|
||||||
|
|
||||||
|
CREATE SEQUENCE item_id_seq
|
||||||
|
INCREMENT BY 1
|
||||||
|
START WITH 1
|
||||||
MAXVALUE 999999
|
MAXVALUE 999999
|
||||||
MINVALUE 1
|
MINVALUE 1
|
||||||
NOCYCLE;
|
NOCYCLE;
|
||||||
/
|
/
|
||||||
|
|
||||||
CREATE OR REPLACE TRIGGER item_bis_trg
|
CREATE OR REPLACE TRIGGER item_bis_trg
|
||||||
BEFORE INSERT ON item
|
BEFORE INSERT ON item
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
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;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user