我与SQLLUS连接OracleDB 10g有异常问题。我有表序列和触发自动增量id。我创建了用于将一些数据插入该表的脚本。当我从SQLPLUS中调用它时,一切正常(没有错误),但在对象浏览器中看不到这些行。当我从SQL命令调用相同的命令时,它在表中显示没有任何问题。
有什么想法吗?
创建表脚本:
-- Create table with drivers
CREATE TABLE drivers (
id NUMBER NOT NULL,
name VARCHAR2(30) NOT NULL,
forname VARCHAR2(30) NOT NULL,
plate_nr VARCHAR2(7) NOT NULL,
engine NUMBER(2,1) DEFAULT 1.4 NULL CHECK(engine > 0), -- check allow only values that meets statement
passanger_space NUMBER DEFAULT 3 NULL CHECK(passanger_space > 0),
luggage_space NUMBER DEFAULT 150 NULL CHECK(luggage_space > 0),
PRIMARY KEY (id) -- id is unique inside table and most important
);
CREATE SEQUENCE drivers_seq; -- create sequence for table
CREATE OR replace TRIGGER drivers_trg -- create trigger
BEFORE INSERT ON drivers -- if user want to add row into table
FOR EACH ROW
BEGIN
SELECT drivers_seq.nextval INTO :NEW.id FROM dual; -- get next value (autoincrement)
END;
/
插入数据脚本:
INSERT INTO drivers (name,forname,plate_nr,engine,passanger_space,luggage_space)
SELECT 'Paweł','Jakubowski','ABC1234',1.4,3,150 FROM dual
UNION ALL SELECT 'Piotr','Dobrzański','ABC4321',1.8,2,NULL FROM dual
UNION ALL SELECT 'Kamil','Nowak','77G0D77',2.2,15,500 FROM dual
UNION ALL SELECT 'Agnieszka','Kowalska','B3AU7Y6',1.4,3,175 FROM dual
;