why when i run my sql code, the terminal stop on some wired number? I am creating a trigger

The CREATE statement is :

CREATE TRIGGER TRIGGER01
AFTER INSERT ON WAREHOUSE
REFERENCING NEW AS NEWWAREHOUSE
FOR EACH ROW
WHEN (NEWWAREHOUSE.STATE = 'MAINE')
BEGIN
INSERT INTO WAREHOUSE_MAINE VALUES(:NEWWAREHOUSE.SHIPPEREIN,:NEWWAREHOUSE.WAREHOUSENAME);
END TRIGGER01;
INSERT INTO WAREHOUSE VALUES('108-34-9999', 'MoonHouse', 'MAINE', 'kapa');
SELECT * FROM WAREHOUSE_MAINE;


But when I run this with other data on Oracle, my terminal displays:

1 row created.


1 row created.


1 row created.


1 row created.


1 row created.

 25  


It should be back to style 

sql&gt;


or warning me there's something wrong with my code at least, but it doesn't. What is wrong with my statement? It seems like when running this statement, it stops on line 25?
Your code above does not create the trigger, it just puts it to the SQL buffer, because this is how SQL*Plus works. One side effect of this is regular SQL statements not executing, or not getting the prompt back. Use a slash / after the END TRIGGER01; clause:

CREATE TRIGGER TRIGGER01
AFTER INSERT ON WAREHOUSE
REFERENCING NEW AS NEWWAREHOUSE
FOR EACH ROW
WHEN (NEWWAREHOUSE.STATE = 'MAINE')
BEGIN
INSERT INTO WAREHOUSE_MAINE VALUES(:NEWWAREHOUSE.SHIPPEREIN,:NEWWAREHOUSE.WAREHOUSENAME);
END TRIGGER01;
/
INSERT INTO WAREHOUSE VALUES('108-34-9999', 'MoonHouse', 'MAINE', 'kapa');
SELECT * FROM WAREHOUSE_MAINE;