SQLPLUS不创建行

时间:2014-04-06 12:51:50

标签: sql oracle10g sqlplus

我与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
   ;

0 个答案:

没有答案