drop tablespace a ;
drop tablespace b;
drop tablespace c;
drop tablespace d;

drop sequence scott.testSeq;
drop table scott.ABCD;

CREATE TABLESPACE "A"
    LOGGING
    DATAFILE 'C:A.dbf' SIZE 5M EXTENT MANAGEMENT LOCAL SEGMENT
    SPACE MANAGEMENT  AUTO
/
CREATE TABLESPACE "B"
    LOGGING
    DATAFILE 'C:B.dbf' SIZE 5M EXTENT MANAGEMENT LOCAL SEGMENT
    SPACE MANAGEMENT  AUTO
/
CREATE TABLESPACE "C"
    LOGGING
    DATAFILE 'C:C.dbf' SIZE 5M EXTENT MANAGEMENT LOCAL SEGMENT
    SPACE MANAGEMENT  AUTO
/
CREATE TABLESPACE "D"
    LOGGING
    DATAFILE 'C:D.dbf' SIZE 5M EXTENT MANAGEMENT LOCAL SEGMENT
    SPACE MANAGEMENT  AUTO
/

CREATE TABLE "SCOTT"."ABCD" ("ID" NUMBER(10) NOT NULL, "DATA"
    VARCHAR2(100 byte) NOT NULL) 
    TABLESPACE "SYSTEM" PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS
    255
    STORAGE ( FREELISTS 1 FREELIST GROUPS 1)
    NOLOGGING 
    PARTITION BY RANGE ("ID") (PARTITION "IDA" 
    VALUES LESS THAN  (10000)
    TABLESPACE "A"  PCTFREE 10 PCTUSED 0 INITRANS 1 MAXTRANS 255
    STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS
    2147483645 PCTINCREASE 0)
    LOGGING,
    PARTITION "IDB" 
    VALUES LESS THAN  (20000)
    TABLESPACE "B"  PCTFREE 10 PCTUSED 0 INITRANS 1 MAXTRANS 255
    STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS
    2147483645 PCTINCREASE 0)
    LOGGING,
    PARTITION "IDC" 
    VALUES LESS THAN  (30000)
    TABLESPACE "C"  PCTFREE 10 PCTUSED 0 INITRANS 1 MAXTRANS 255
    STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS
    2147483645 PCTINCREASE 0)
    LOGGING,
    PARTITION "IDD" 
    VALUES LESS THAN  (MAXVALUE)
    TABLESPACE "D"  PCTFREE 10 PCTUSED 0 INITRANS 1 MAXTRANS 255
    STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS
    2147483645 PCTINCREASE 0) LOGGING);

create sequence scott.testSeq
/

create or replace procedure a1(su number)
 as
 begin
    for i in 1..su loop
            insert into scott.abcd values(scott.testSeq.nextval,'asdfjsldjfasldjf;lasjdflksajdf;lkasdjfklasjdf;lkasdjf');
            commit;
    end loop;
    commit;
end;
/

exec scott.a1(25000);