Silahkan masukkan instruksi SQL untuk:
- Mengcreate TABEL Transaksi SO Header (DDL)
– Mengcreate TABEL Transaksi SO Detail (DDL)
- Memasukkan Data pada Tabel SO Header dan SO Detail (DML)

Tuliskan instruksinya dibawah ini
melalui comment

Blogged with the Flock Browser
VN:F [1.8.1_1037]
Rating: 0.0/10 (0 votes cast)
VN:F [1.8.1_1037]
Rating: 0 (from 0 votes)
Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogosphere News
  • Blogsvine
  • Furl
  • Ma.gnolia
  • Propeller
  • Spurl
  • Technorati
  • Tumblr
  • TwitThis
  • YahooMyWeb
  • StumbleUpon
  • BlinkList
  • LinkedIn
  • Live

Post to Twitter Tweet This Post Post to Delicious Delicious

Tags:

45 Responses to “Piece of Code: Transaksi Sales Order”

  1. oracle says:

    CREATE TABLE SalesPerson (
    KdSales VARCHAR2(5) NOT NULL,
    NmSales CHAR(50) NOT NULL ,
    AlamatSales CHAR(300),
    TelpSales CHAR(30),
    PRIMARY KEY (“KDSALES”)
    )

    Insert Into SalesPerson VALUES (‘SP001′, ‘Merinda’, ‘Jl. Sumur bor’, ‘654654897′);
    Insert Into SalesPerson VALUES (‘SP002′, ‘Janet’, ‘Jl. pisang batu’, ‘4567894′);
    Insert Into SalesPerson VALUES (‘SP003′, ‘Barel’, ‘Jl. kemakmuran’, ‘146549872′);

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  2. Doraemon says:

    create table MsTrans (
    Tanggal date,
    IDCustomer varchar2(20) constraint pk_fk3 references MsCustomer(IDCustomer),
    IDBarang varchar2(20) constraint pk_fk4 references MsBarang(IDBarang),
    Qty number )

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  3. oracle says:

    yg diatas buat salesperson
    jd create yg insert yg buat sales order yg dibawah ini :
    CREATE TABLE SO_Header (
    KdTrans VARCHAR2(5) NOT NULL,
    KdCust VARCHAR2(5) NOT NULL,
    Tgl DATE NOT NULL ,
    PRIMARY KEY (“KDTRANS”, “KDCUST”),
    FOREIGN KEY (“KDCUST”) REFERENCES CUSTOMER (“KDCUST”)
    )

    CREATE TABLE SO_Detail (
    KdTrans VARCHAR2(5) NOT NULL,
    KDPRODUK VARCHAR2(5) NOT NULL,
    Qty NUMBER NOT NULL,
    Harga NUMBER NOT NULL,
    PRIMARY KEY (“KDTRANS”, “KDPRODUK”),
    FOREIGN KEY (“KDPRODUK”) REFERENCES PRODUK (“KDPRODUK”)
    )

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  4. admin says:

    Saya mau beri komentar sedikit.

    Sebaiknya kita gunakan standarisasi. Contohnya kalau untuk master standardnya gunakan kode misalnya kode produk, tapi kalau untuk transaksi gunakan nomor, misalnya nomor sales order (no So)

    Cheers,
    Johan Setiawan

    PS: ayo yang lain ditunggu code-nya!!

    UA:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UA:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  5. oracle says:

    saya berasumsi transaksi terjadi tiap hari, jadi ada hari dimana tidak terjadi transaksi, jadi random dari 0-10 setiap hari.

    CREATE TABLE SO_Header (
    No_SO CHAR(7) NOT NULL,
    KdCust VARCHAR2(5) NOT NULL,
    Tgl DATE NOT NULL ,
    PRIMARY KEY (“NO_SO”),
    FOREIGN KEY (“KDCUST”) REFERENCES CUSTOMER (“KDCUST”)
    );

    CREATE TABLE SO_Detail (
    No_SO CHAR(7) NOT NULL,
    KDPRODUK VARCHAR2(5) NOT NULL,
    Qty NUMBER NOT NULL,
    Harga NUMBER NOT NULL,
    PRIMARY KEY (“NO_SO”, “KDPRODUK”),
    FOREIGN KEY (“KDPRODUK”) REFERENCES PRODUK (“KDPRODUK”),
    FOREIGN KEY (“NO_SO”) REFERENCES SO_HEADER (“NO_SO”)
    );

    DECLARE
    nPeople NUMBER;
    nTrans NUMBER;
    jenis NUMBER;
    k INT;
    flag INT;
    kodeProduk VARCHAR2(5);
    kodeBeli VARCHAR2(7);
    tempKode INT;
    kodeCustomer VARCHAR2(5);
    tempKodeCustomer INT;
    j INT;
    jmlhBrs INT;
    currDate DATE;
    qty NUMBER;
    harga NUMBER;
    beliKode INT;
    BEGIN

    currDate := ‘1-jan-2008′;
    beliKode:=1;
    WHILE beliKode < 1000 LOOP
    nPeople := mod(trunc(DBMS_RANDOM.VALUE *10), 11);
    IF beliKode < 10 THEN
    kodeBeli := ‘SO0000′ || to_char(beliKode);
    ELSIF beliKode<100 THEN
    kodeBeli := ‘SO000′ || to_char(beliKode);
    ELSIF beliKode<1000 THEN
    kodeBeli := ‘SO00′ || to_char(beliKode);
    ELSIF beliKode<10000 THEN
    kodeBeli := ‘SO0′ || to_char(beliKode);
    END IF;
    j:= 1;
    WHILE j <= nPeople LOOP
    tempKodeCustomer := mod(trunc(DBMS_RANDOM.VALUE *10), 10) + 1;
    IF tempKodeCustomer < 10 THEN
    kodeCustomer := ‘C000′ || to_char(tempKodeCustomer);
    ELSIF tempKodeCustomer < 100 THEN
    kodeCustomer := ‘C00′ || to_char(tempKodeCustomer);
    END IF;

    SELECT count(*) INTO tempKode FROM SO_Detail WHERE ‘Tgl’=currDate AND ‘KDCUST’=kodeCustomer;
    IF tempKode < 1 THEN

    INSERT INTO SO_Header VALUES (kodeBeli, kodeCustomer, currDate);

    nTrans := mod(trunc(DBMS_RANDOM.VALUE *10), 4) + 1;
    k:=1;
    dbms_output.put_line(‘Transaksi’ || nTrans);
    WHILE k <= nTrans LOOP
    jenis := DBMS_RANDOM.VALUE;
    flag:=0;
    IF jenis <= 0.25 then
    kodeProduk:=’P0001′;
    ELSIF jenis <= 0.5 then
    kodeProduk:=’P0002′;
    ELSIF jenis <= 0.75 then
    kodeProduk:=’P0003′;
    ELSE
    kodeProduk:=’P0004′;
    END IF;

    SELECT count(*) INTO jmlhBrs FROM SO_Detail WHERE No_SO=kodeBeli AND kdProduk=kodeProduk;
    IF jmlhBrs < 1 THEN
    dbms_output.put_line(‘Transaksi’ || kodeProduk);
    SELECT harga INTO harga FROM Produk WHERE kdProduk=kodeProduk;
    qty := mod(trunc(DBMS_RANDOM.VALUE *10), 10) + 1;
    INSERT INTO SO_Detail VALUES (kodeBeli, kodeProduk, qty, harga);
    k:=k+1;
    END IF;
    k:=k+1;
    END LOOP;
    j:= j + 1;

    beliKode:=beliKode+1;
    IF beliKode < 10 THEN
    kodeBeli := ‘SO0000′ || to_char(beliKode);
    ELSIF beliKode<100 THEN
    kodeBeli := ‘SO000′ || to_char(beliKode);
    ELSIF beliKode<1000 THEN
    kodeBeli := ‘SO00′ || to_char(beliKode);
    ELSIF beliKode<10000 THEN
    kodeBeli := ‘SO0′ || to_char(beliKode);
    END IF;

    END IF;

    END LOOP;
    currDate := currDate + 1;
    END LOOP;
    END;

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  6. Angela Noviana W. says:

    1000842252 / 06PGT
    ~ORACLE~

    CREATE TABLE SOHeader
    (
    No_TrSOHeader CHAR(5),
    KdSP CHAR(5),
    KdCust CHAR(5),
    Hari DATE,
    CONSTRAINT trsoh_pk PRIMARY KEY(No_TrSOHeader),
    CONSTRAINT spid_fk FOREIGN KEY (KdSP) REFERENCES SALESPERSON(KdSP),
    CONSTRAINT custid_fk FOREIGN KEY (KdCust) REFERENCES customer(KdCust)
    );

    CREATE TABLE SODetail
    (
    No_TrSOHeader CHAR(5),
    KdProd CHAR(5),
    Qty NUMBER(3),
    CONSTRAINT trsod_pk PRIMARY KEY(No_TrSOHeader,KdProd),
    CONSTRAINT trsod_fk FOREIGN KEY(No_TrSOHeader) REFERENCES SOHeader(No_TrSOHeader),
    CONSTRAINT trsod_prod_fk FOREIGN KEY(KdProd) REFERENCES product(KdProd)
    );

    —————————————————————–

    [asumsi yang terjadi pada transaksi : tanggal transaksi diacak, customer diacak, produk diacak, sales person diacak, jumlah barang diacak berdasarkan jenis pelanggan. Pada tanggal yang sama, customer dapat membeli lebih dari 1 jenis produk(tapi tidak boleh jenis produk yang sama)]

    —————————————————————–

    declare
    tgltrans date;
    cust char(5);
    jmlbrg int;
    sales char(5);
    jnscust char(5);

    NoTrans char(5);
    prod char(5);
    qty int;

    jmltrans int:=1000;

    counter int:=jmltrans;
    counter2 int;
    temp int;

    begin
    while counter>0 loop

    –Random data
    tgltrans := to_date(‘1-Jan-08′,’DD-Mon-RR’) + round(dbms_random.value(0,365));
    cust := ‘C’ || lpad(round(dbms_random.value(1,10)),4,’0′);
    jmlbrg := round(dbms_random.value(1,4));
    sales := ‘S’ || lpad(round(dbms_random.value(1,3)),4,’0′);
    NoTrans := ‘T’ || lpad(jmltrans-counter+1,4,’0′);

    –Mengambil jenis customer
    select KdJnsCust into jnscust from customer where KdCust=cust;

    –Insert data header
    insert into SOHeader values (NoTrans, sales, cust, tgltrans);

    –Persiapkan JmlBarang
    counter2:=jmlbrg;

    while counter2>0 loop

    –Random Kode Barang yang dibeli dan qty
    prod := ‘P’ || lpad(round(dbms_random.value(1,4)),4,’0′);

    if(jnscust=’J0001′) then
    qty := round(dbms_random.value(1,10));
    else
    qty := round(dbms_random.value(20,50));
    end if;

    –Cek di detail ada atau tidak customer membeli barang yang sama dalam 1 hari
    select count(b.No_SOHeader) into temp from SoHeader a, SODetail b where
    a.No_SOHeader=b.No_SOHeader(+) and
    a.KdCust=cust and
    b.KdProd=prod;

    –Jika ada hapus transaksi, ulang loop
    if temp!=0 then
    delete from SODetail where No_SOHeader=NoTrans;
    delete from SOHeader where No_SOHeader=NoTrans;
    counter:=counter+1;
    counter2:=0;
    else
    insert into SODetail values(NoTrans,prod,qty);
    end if;

    –Kurangi counter jumlah
    counter2:=counter2-1;
    end loop;

    –Kurangi counter transaksi
    counter:=counter-1;

    end loop;
    end;

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  7. Yuliana says:

    CREATE TABLE HdSalesOrders
    (
    SalesOrderID int NOT NULL,
    SalesOrderNo int NOT NULL,
    SalesPID number(5) NOT NULL,
    CustomerID number(10) NOT NULL,
    SalesOrderDate date timestamp(6) NOT NULL,
    CONSTRAINT hdSalesOrder_pk PRIMARY KEY (SalesOrderID),
    CONSTRAINT fk1_SalesOrder FOREIGN KEY (SalesPID) REFERENCES SalesP(SalesPID),
    CONSTRAINT fk2_SalesOrder FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID),
    CONSTRAINT fk3_SalesOrder FOREIGN KEY (KdProduk) REFERENCES Products(KdProduk)
    )

    CREATE TABLE DtSalesOrders
    (
    SalesOrderID int NOT NULL,
    SalesOrderNo int NOT NULL,
    KdProduk number(5) NOT NULL,
    Qty number(50) NOT NULL,
    CONSTRAINT dtSalesOrder_pk PRIMARY KEY (SalesOrderID),
    CONSTRAINT fk1_dtSalesOrder FOREIGN KEY (SalesOrderID) REFERENCES HdSalesOrders (SalesOrderID)
    )

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  8. Marlene says:

    Transaksi
    ==============
    create table headerSO
    (
    NoTransaksi char(5) primary key,
    kdCustomer char(5),
    kdSales char(5),
    tanggal date,
    foreign key (kdCustomer) references msCustomer,
    foreign key (kdSales) references msSales
    );

    create table detailSO
    (
    noTransaksi char(5),
    KdProduk char(5),
    jumlah number,
    primary key (noTransaksi,kdBarang),
    foreign key (kdProduk) references msProduk
    );

    insert into headerSO values(‘T001′,’C001′,’S001′,’05/25/09′);
    insert into headerSO values(‘T002′,’C003′,’S003′,’05/26/09′);
    insert into headerSO values(‘T003′,’C009′,’S002′,’05/26/09′);

    insert into detailSO values(‘T001′,’P001′,2);
    insert into detailSO values(‘T002′,’P002′,1);
    insert into headerSO values(‘T003′,’P004′,10);

    Marlene (1000867860)
    06PGT

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  9. Marlene says:

    Transaksi
    ==============
    create table headerSO
    (
    NoTransaksi char(5) primary key,
    kdCustomer char(5),
    kdSales char(5),
    tanggal date,
    foreign key (kdCustomer) references msCustomer,
    foreign key (kdSales) references msSales
    );

    create table detailSO
    (
    noTransaksi char(5),
    KdProduk char(5),
    jumlah number,
    primary key (noTransaksi,kdProduk),
    foreign key (kdProduk) references msProduk
    );

    insert into headerSO values(‘T001′,’C001′,’S001′,’05/25/09′);
    insert into headerSO values(‘T002′,’C003′,’S003′,’05/26/09′);
    insert into headerSO values(‘T003′,’C009′,’S002′,’05/26/09′);

    insert into detailSO values(‘T001′,’P001′,2);
    insert into detailSO values(‘T002′,’P002′,1);
    insert into headerSO values(‘T003′,’P004′,10);

    Marlene (1000867860)
    06PGT
    *maaf ada salah lagi.. jadi submit ulang..

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  10. Juan says:

    CREATE TABLE SoHeader (
    SalesNo VARCHAR2(5) NOT NULL,
    CustNo VARCHAR2(5) NOT NULL,
    SalesPersonNo VARCHaR2(5) NOT NULL,
    DateSold DATE NOT NULL,
    Total number(8,2) NOT NULL
    PRIMARY KEY(SalesNo),
    FOREIGN KEY(CustNo) REFERENCES MsCustomer(CustNo),
    FOREIGN KEY(SalesPersonNo) REFERENCES MsSalesPerson(SalesPersonNo)
    );

    CREATE TABLE SoDetail (
    SalesNo VARCHAR2(5) NOT NULL,
    ProductNo VaRCHAR(5) NOT NULL,
    Sum INT NOT NULL,
    Price number(5,2) NOT NULL,
    Subtotal number(8,2) NOT NULL,
    PRIMARY KEY(SalesNo,ProductNo),
    FOREIGN KEY(SalesNo) REFERENCES SoHeader(SalesNo),
    FOREIGN KEY(ProductNo) REFERENcEs MsProduct(ProductNo)
    );
    INSERT INTO SoHeader VALUES(‘S001′,’C003′,’SP002′,’2009-02-24′,95000,00);
    INSERT INTO SoDetail VALUES(‘S001′,’P002′,5,19000);

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  11. Lidya Chandra says:

    .. 1000878883 ..

    create table HeaderSalesOrder (
    idSO varchar(10) primary key
    dateSO date,
    idCust references Customer
    idSP references SalesPerson
    )

    create table DetailSalesOrder (
    idSO references SalesOrder
    idProd references Product
    qty number
    )

    * pak maaf saya belum bisa yg insert random.. jadi saya buat DDL ny aj..

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  12. Hardi Chandra says:

    NIM : 1000842290
    Kelas : 06 PGT
    CREATE TABLE SalesOrder
    (
    SalesOrderID CHAR(5),
    KodeSalesPerson CHAR(5),
    KodeCustomer CHAR(5),
    TanggalSales DATE,
    CONSTRAINT salesorder_pk PRIMARY KEY(SalesOrderID),
    CONSTRAINT salesorder_fk1 FOREIGN KEY(KodeSalesPerson) REFERENCES MsSalesPerson(KodeSalesPerson) ON DELETE CASCADE,
    CONSTRAINT salesorder_fk2 FOREIGN KEY(KodeCustomer) REFERENCES MsCustomer(KodeCustomer) ON DELETE CASCADE
    );

    CREATE TABLE SalesOrderDetail
    (
    SalesOrderID CHAR(5),
    KodeProduk CHAR(5),
    Jumlah NUMBER,
    PRIMARY KEY(SalesOrderID,KodeProduk),
    CONSTRAINT salesorderdetail_fk FOREIGN KEY(SalesOrderID) REFERENCES SalesOrder(SalesOrderID) ON DELETE CASCADE,
    CONSTRAINT salesorderdetail_fk2 FOREIGN KEY(KodeProduk) REFERENCES MsProduct(KodeProduk) ON DELETE CASCADE
    );

    set serveroutput on
    DECLARE
    SalesOrderID Char(5);
    KodeSalesPerson Char(5);
    randKodeSales number;
    KodeCustomer Char(5);
    randKodeCustomer number;
    Tanggal DATE;
    i NUMBER;
    jmlTrans NUMBER;
    j NUMBER;
    KodeProduk Char(5);
    randKodeProduk NUMBER;
    Jumlah NUMBER;

    BEGIN
    FOR i IN 1.. 10 LOOP
    IF i < 10 THEN
    SalesOrderID := ‘SO00′ || to_char(i);
    ELSIF i < 100 THEN
    SalesOrderID := ‘SO0′ || to_char(i);
    ELSIF i < 1000 THEN
    SalesOrderID := ‘SO’ || to_char(i);
    END IF;

    randKodeSales := trunc(DBMS_RANDOM.VALUE * 3) + 1;
    KodeSalesPerson := ‘SP00′ || to_char(randKodeSales);

    randKodeCustomer := trunc(DBMS_RANDOM.VALUE * 10) + 1;
    IF randKodeCustomer < 10 THEN
    KodeCustomer := ‘C000′ || to_char(randKodeCustomer);
    ELSIF randKodeCustomer < 100 THEN
    KodeCustomer := ‘C00′ || to_char(randKodeCustomer);
    END IF;

    Tanggal := TO_CHAR(SYSDATE,’dd-Mon-yyyy’);

    INSERT INTO SalesOrder VALUES(SalesOrderID,KodeSalesPerson,KodeCustomer,Tanggal);

    jmlTrans := trunc(DBMS_RANDOM.VALUE * 2) + 1;

    /*FOR j IN 1.. jmlTrans LOOP

    randKodeProduk := trunc(DBMS_RANDOM.VALUE * 4) + 1;
    KodeProduk := ‘P000′ || to_char(randKodeProduk);

    Jumlah := trunc(DBMS_RANDOM.VALUE * 10) + 1;

    DBMS_OUTPUT.PUT_LINE(SalesOrderID || ‘ ‘ || KodeProduk || ‘ ‘ || Jumlah);
    INSERT INTO SalesOrderDetail VALUES(SalesOrderID, KodeProduk, Jumlah);
    END LOOP; */
    END LOOP;
    END;
    /

    DECLARE
    SalesOrderID Char(5);
    KodeSalesPerson Char(5);
    randKodeSales number;
    KodeCustomer Char(5);
    randKodeCustomer number;
    Tanggal DATE;
    i NUMBER;
    jmlTrans NUMBER;
    j NUMBER;
    KodeProduk Char(5);
    randKodeProduk NUMBER;
    Jumlah NUMBER;

    BEGIN
    FOR i IN 1.. 10 LOOP
    IF i < 10 THEN
    SalesOrderID := ‘SO00′ || to_char(i);
    ELSIF i < 100 THEN
    SalesOrderID := ‘SO0′ || to_char(i);
    ELSIF i .<… jadi akhirnya saya pecah menjadi 2 begin dan end…
    CMMIIW… THX

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  13. Hardi Chandra says:

    kenapa kata2 saya yang diatas terpotong yah?? mungkin karena terlalu panjang… maaf saya posting ulang codingnya

    set serveroutput on
    DECLARE
    SalesOrderID Char(5);
    KodeSalesPerson Char(5);
    randKodeSales number;
    KodeCustomer Char(5);
    randKodeCustomer number;
    Tanggal DATE;
    i NUMBER;
    jmlTrans NUMBER;
    j NUMBER;
    KodeProduk Char(5);
    randKodeProduk NUMBER;
    Jumlah NUMBER;

    BEGIN
    FOR i IN 1.. 10 LOOP
    IF i < 10 THEN
    SalesOrderID := ‘SO00′ || to_char(i);
    ELSIF i < 100 THEN
    SalesOrderID := ‘SO0′ || to_char(i);
    ELSIF i < 1000 THEN
    SalesOrderID := ‘SO’ || to_char(i);
    END IF;

    randKodeSales := trunc(DBMS_RANDOM.VALUE * 3) + 1;
    KodeSalesPerson := ‘SP00′ || to_char(randKodeSales);

    randKodeCustomer := trunc(DBMS_RANDOM.VALUE * 10) + 1;
    IF randKodeCustomer < 10 THEN
    KodeCustomer := ‘C000′ || to_char(randKodeCustomer);
    ELSIF randKodeCustomer < 100 THEN
    KodeCustomer := ‘C00′ || to_char(randKodeCustomer);
    END IF;

    Tanggal := TO_CHAR(SYSDATE,’dd-Mon-yyyy’);

    INSERT INTO SalesOrder VALUES(SalesOrderID,KodeSalesPerson,KodeCustomer,Tanggal);

    jmlTrans := trunc(DBMS_RANDOM.VALUE * 2) + 1;

    /*FOR j IN 1.. jmlTrans LOOP

    randKodeProduk := trunc(DBMS_RANDOM.VALUE * 4) + 1;
    KodeProduk := ‘P000′ || to_char(randKodeProduk);

    Jumlah := trunc(DBMS_RANDOM.VALUE * 10) + 1;

    DBMS_OUTPUT.PUT_LINE(SalesOrderID || ‘ ‘ || KodeProduk || ‘ ‘ || Jumlah);
    INSERT INTO SalesOrderDetail VALUES(SalesOrderID, KodeProduk, Jumlah);
    END LOOP; */
    END LOOP;
    END;
    /

    DECLARE
    SalesOrderID Char(5);
    KodeSalesPerson Char(5);
    randKodeSales number;
    KodeCustomer Char(5);
    randKodeCustomer number;
    Tanggal DATE;
    i NUMBER;
    jmlTrans NUMBER;
    j NUMBER;
    KodeProduk Char(5);
    randKodeProduk NUMBER;
    Jumlah NUMBER;

    BEGIN
    FOR i IN 1.. 10 LOOP
    IF i < 10 THEN
    SalesOrderID := ‘SO00′ || to_char(i);
    ELSIF i < 100 THEN
    SalesOrderID := ‘SO0′ || to_char(i);
    ELSIF i < 1000 THEN
    SalesOrderID := ‘SO’ || to_char(i);
    END IF;
    jmlTrans := trunc(DBMS_RANDOM.VALUE * 2) + 1;
    FOR j IN 1.. jmlTrans LOOP
    randKodeProduk := trunc(DBMS_RANDOM.VALUE * 4) + 1;
    KodeProduk := ‘P000′ || to_char(randKodeProduk);

    Jumlah := trunc(DBMS_RANDOM.VALUE * 10) + 1;
    /*DBMS_OUTPUT.PUT_LINE(SalesOrderID || ‘ ‘ || KodeProduk || ‘ ‘ || Jumlah);*/
    INSERT INTO SalesOrderDetail VALUES(SalesOrderID, KodeProduk, Jumlah);
    END LOOP;
    END LOOP;
    END;
    /

    maaf pak… kodingnya belum sempurna… karena masih kurang validasi sana sini… nanti akan saya tambahkan lagi…

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  14. Mely says:

    1000877211
    create table HeaderSO (
    noSO varchar(5) not null primary key,
    tanggalSO date,
    kdcustomer varchar2(5),
    kdsalesperson varchar2(5),
    constraint SO_customer FOREIGN KEY (kdcustomer) REFERENCES mscustomer (kdcustomer),
    constraint SO_salesperson FOREIGN KEY (kdsalesperson) REFERENCES mssalesperson (kdsalesperson)
    );

    create table DetailSO (
    noSO varchar2(5),
    kodeproduk varchar2(5),
    qty number,
    constraint SO_noSO FOREIGN KEY (noSO) REFERENCES HeaderSO (noso),
    constraint SO_produk FOREIGN KEY (kodeproduk) REFERENCES msproduct (kodeproduk)
    );

    NB: Memasukkan Data pada Tabel SO Header dan SO Detail (DML)??
    jawabannya nanti menyusul pak..

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  15. Hans Richardo 1000865464 says:

    create table SOHeader
    (
    KdSO varchar2(10) Primary Key,
    KdCustomer varchar(10),
    KdSalesPerson varchar(10),
    TanggalSO DATE,
    constraint c_1 FOREIGN KEY(KdCustomer) REFERENCES Customer(KdCustomer),
    constraint c_2 FOREIGN KEY(KdSalesPerson) REFERENCES SalesPerson(KdSalesPerson)
    );

    insert into SOHeader values(‘SO0001′,’C0001′,’SP0001′,TO_DATE(‘31-05-2009′,’DD-MM-YY’))

    create table SODetail
    (
    KdSO varchar2(10),
    KdProduk varchar(10),
    Qty numeric,
    constraint c_3 PRIMARY KEY(KdSO, KdProduk),
    constraint c_4 FOREIGN KEY(KdProduk) REFERENCES Product(KdProduk)
    );

    insert into SODetail values(‘SO0001′,’P001′,15)

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  16. Julianto says:

    Julianto / 1000865262 / 06PGT

    Insert random nya saya belum bisa Pak.

    create table SOHeader
    (
    noSO varchar2(50) PRIMARY KEY,
    idCustomer varchar(10),
    idSalesPerson varchar(10),
    tanggalSO DATE,
    constraint c_1 FOREIGN KEY(idCustomer) REFERENCES customer(idCustomer),
    constraint c_2 FOREIGN KEY(idsalesperson) REFERENCES salesPerson(idsalesperson)
    );

    create table SODetail
    (
    noSO varchar2(50),
    kodeProduk varchar(50),
    qty numeric,
    constraint c_3 PRIMARY KEY(noSO, kodeProduk),
    constraint c_4 FOREIGN KEY(kodeProduk) REFERENCES product(kodeProduk)
    );

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  17. Rhio says:

    Nama : Rhio
    NIM : 1000867942
    kelas : 06PGT

    –Untuk create table SOHeader dan SODetail

    CREATE TABLE SOHeader
    (
    TrSOHeader CHAR(5),
    KdSP CHAR(5),
    KdCust CHAR(5),
    Hari DATE,
    CONSTRAINT trsoh_pk PRIMARY KEY(TrSOHeader),
    CONSTRAINT spid_fk FOREIGN KEY (KdSP) REFERENCES SALESPERSON(KdSP),
    CONSTRAINT custid_fk FOREIGN KEY (KdCust) REFERENCES customer(KdCust)
    );

    CREATE TABLE SODetail
    (
    TrSOHeader CHAR(5),
    KdProd CHAR(5),
    Qty NUMBER(3),
    CONSTRAINT trsod_pk PRIMARY KEY(TrSOHeader,KdProd),
    CONSTRAINT trsod_fk FOREIGN KEY(TrSOHeader) REFERENCES SOHeader(TrSOHeader),
    CONSTRAINT trsod_prod_fk FOREIGN KEY(KdProd) REFERENCES product(KdProd)
    );

    – untuk insert data ke tabel SOHeader dan tabel SODetail dengan menggunakan program (datanya digenerate sendiri dengan menggunakan random)

    declare
    JmlTr int := 1000;
    TrPerHr int;
    DtPerCust int;
    Cust char(5);
    SP char(5);
    KdTr char(5);
    KdPro char(5);
    TglTr date;

    Ctr int := 0;
    CtrHr int := 0;
    temp int;

    begin
    while Ctr!=JmlTr loop

    –Tentuin hari transaksi
    select mod(CtrHr,366) into Temp from dual;
    TglTr := to_date(‘1-Jan-08′,’DD-Mon-RR’) + Temp;

    –Random byk Tr perhari min 3, max 10 per hari
    TrPerHr := round(dbms_random.value(3,7));

    while TrPerHr!=0 loop

    Cust := ‘C’ || lpad(round(dbms_random.value(1,10)),4,’0′);
    SP := ‘S’ || lpad(round(dbms_random.value(1,3)),4,’0′);

    select count(*) into temp from SOHeader where KdCust=Cust and Hari=TglTr;

    if temp=0 then
    KdTr := ‘T’ || lpad((Ctr+1),4,’0′);
    insert into SOHeader values(KdTr,SP,Cust,TglTr);

    for temp in 1..4 loop
    if round(dbms_random.value)=1 then
    KdPro := ‘P’ || lpad(temp,4,’0′);
    insert into SODetail values(KdTr,KdPro,1);
    end if;
    end loop;

    TrPerHr:=TrPerHr-1;
    Ctr := Ctr+1;
    if Ctr=JmlTr then
    TrPerHr:=0;
    end if;
    end if;
    end loop;

    CtrHr := CtrHr+1;
    end loop;
    end;

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  18. Wunleng says:

    Wunleng Prawijogo
    1000839283 (06PGT)
    Oracle

    CREATE TABLE TrSOHeader
    (
    KdTrSOHeader varchar(6),
    KdCustomer varchar(6),
    KdSalesPerson varchar(6),
    Tanggal DATE,
    CONSTRAINT trsoheaderpk PRIMARY KEY(KdTrSOHeader),
    CONSTRAINT trsalespersonfk FOREIGN KEY (KdSalesPerson) REFERENCES MsSalesPerson(KdSalePerson),
    CONSTRAINT custid_fk FOREIGN KEY (KdCustomer) REFERENCES MsCustomer(KdCustomer)
    );

    CREATE TABLE TrSODetail
    (
    KdTrSOHeader varchar (6),
    KdProd varchar(6),
    Jumlah number(3),
    CONSTRAINT trsodetailpk PRIMARY KEY(KdTrSOHeader,KdProduct),
    CONSTRAINT trsodetailfk FOREIGN KEY(KdTrSOHeader) REFERENCES TrSOHeader(KdTrSOHeader),
    CONSTRAINT trsodetailproductfk FOREIGN KEY(KdProduct) REFERENCES MsProduct(KdProduct)
    );

    insert random… belum.. >.<

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  19. Erico 1000835650 @ 06PGT says:

    Erico 1000835650
    06PGT
    3
    —————-
    /*Saya bikin stored Function dahulu buat bantu generate kodenya pak*/

    /*Bikin Function buat kode*/
    CREATE OR REPLACE FUNCTION bikinkode
    ( nomor IN NUMBER, jenis IN VARCHAR2)
    RETURN VARCHAR2
    IS
    hasil VARCHAR2(6);
    BEGIN
    IF nomor < 10 THEN
    RETURN jenis||’000′||nomor;
    ELSIF nomor < 100 THEN
    RETURN jenis||’00′||nomor;
    ELSIF nomor < 1000 THEN
    RETURN jenis||’0′||nomor;
    ELSE
    RETURN jenis||nomor;
    END IF;
    END;
    /
    ——————————-

    /*Bikin Transaksi Sales Order*/
    DECLARE
    TYPE t_min IS VARRAY(4) of NUMBER;
    TYPE t_max IS VARRAY(4) of NUMBER;
    minProd t_min := t_min(1, 1, 1, 1);
    maxProd t_max := t_max(5, 5, 5, 5);

    tglmin VARCHAR2(12) := ‘01/01/2008′;
    tglmax VARCHAR2(12) := ‘31/12/2008′;
    hasil VARCHAR2(25);

    insTgl DATE;
    insCust NUMBER;
    insSP NUMBER;
    insProd NUMBER;
    insQty NUMBER;

    jnsCust VARCHAR(12);

    fOrder NUMBER := 1;
    fNItem NUMBER;
    fNCount NUMBER;
    fCheck NUMBER;
    fDet NUMBER := 0;
    BEGIN
    WHILE fOrder <= 1000 LOOP
    –Random Tanggal
    insTgl := TO_DATE(ROUND(DBMS_RANDOM.VALUE(TO_CHAR(TO_DATE(tglmin, ‘dd/mm/yyyy’), ‘J’), TO_CHAR(TO_DATE(tglmax, ‘dd/mm/yyyy’), ‘J’))), ‘J’);
    –Random Sales Person
    insSP := ROUND(DBMS_RANDOM.VALUE(1,3));
    –Random Customer
    insCust := ROUND(DBMS_RANDOM.VALUE(1,10));

    –Menentukan Min Max qty tiap product berdasarkan jenis customer
    SELECT JenisCustomer INTO jnsCust FROM MsCustomer WHERE kodeCustomer = bikinkode(insCust, ‘C’);
    CASE jnsCust
    WHEN ‘Mahasiswa’ THEN minProd := t_min(1, 1, 1, 1);
    maxProd := t_max(10, 10, 10, 10);
    WHEN ‘Perusahaan’ THEN minProd := t_min(20, 20, 20, 20);
    maxProd := t_max(50, 50, 50, 50);
    END CASE;

    –Insert Header
    INSERT INTO TrHeaderSalesOrder VALUES(bikinkode(fOrder, ‘SO’), bikinkode(insCust, ‘C’), bikinkode(insSP, ‘SP’), insTgl);

    –Insert Detail
    fNItem := ROUND(DBMS_RANDOM.VALUE(1, 4));
    fNCount := 1;
    WHILE fNCount <= fNItem LOOP
    fDet := 0;
    WHILE fDet = 0 LOOP
    insProd := ROUND(DBMS_RANDOM.VALUE(1, 4));
    SELECT COUNT(*) INTO fCheck FROM TrDetailSalesOrder WHERE noSO = bikinkode(fOrder, ‘SO’) AND kodeProduk = bikinkode(insProd, ‘P’);
    IF fCheck = 0 THEN
    INSERT INTO TrDetailSalesOrder VALUES(bikinkode(fOrder, ‘SO’), bikinkode(insProd, ‘P’), ROUND(DBMS_RANDOM.VALUE(minProd(insProd), maxProd(insProd))));
    fDet := 1;
    END IF;
    END LOOP;
    fNCount := fNCount + 1;
    END LOOP;
    fOrder := fOrder + 1;
    END LOOP;
    END;
    /
    ————————————

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  20. Ervin Yulianto(1000864291) says:

    DDL Untuk PERUSAHAAN AIR MINUM

    Create Table SO_Header
    (
    Kd_SO varchar(50) primary key,
    Tanggal datetime,
    KdPelanggan varchar(50),
    KdKaryawan varchar(50),
    Keterangan varchar(255),
    Total money,
    Diskon money,
    GrandTotal money,
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime,
    Foreign key(KdPelanggan) Refrences Pelanggan(KdPelanggan),
    Foreign key(KdKaryawan) Refrences Karyawan(KdKaryawan)
    )

    Create Table SO_Detail
    (
    Kd_SO varchar(50),
    KdBarang varchar(50),
    Qty int,
    Harga money,
    SubTotal money,
    Diskon money,
    Total money,
    Foreign key(Kd_So) References SO_Header(Kd_So),
    Foreign key(KdBarang) References Barang(KdBarang)
    )

    Create Table Barang
    (
    KdBarang varchar(50),
    NamaBarang varchar(255),
    KdJenisBarang varchar(50),
    Stok int,
    HargaBeli money,
    HargaJual money,
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime,
    Foreign key(KdJenisBarang) References JenisBarang(KdJenisBarang)
    )

    Create Table JenisBarang
    (
    KdJenisBarang varchar(50),
    NamaJenisBarang varchar(255),
    Keterangan varchar(255),
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime
    )

    Create Table Pelanggan
    (
    KdPelanggan varchar(50) primary key,
    NamaPelanggan varchar(255),
    Telp varchar(50),
    Hp varchar(50),
    Alamat varchar(255),
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime
    )

    Create Table Karyawan
    (
    KdKaryawan varchar(50) primary key,
    NamaKaryawan varchar(255),
    KdJabatan varchar(50),
    Telp varchar(50),
    Hp varchar(50),
    Alamat varchar(255),
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime,
    Foreign key(KdJabatan) References Jabatan(KdJabatan)
    )

    Create Table Jabatan
    (
    KdJabatan varchar(50) primary key,
    NamaJabatan varchar(255),
    Keterangan varchar(255),
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime
    )

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  21. Ervin Yulianto(1000864291) says:

    Nim : 1000864291
    Nama : Ervin Yulianto
    Kelas : 06 PGT
    –ORACLE
    –Nb. Maaf pak, Saya Post 2x, ini yang last update thx

    DDL Untuk PERUSAHAAN AIR MINUM

    Create Table SO_Header
    (
    Kd_SO varchar(50) primary key,
    Tanggal datetime,
    KdPelanggan varchar(50),
    KdKaryawan varchar(50),
    Keterangan varchar(255),
    Total money,
    Diskon money,
    GrandTotal money,
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime,
    Foreign key(KdPelanggan) Refrences Pelanggan(KdPelanggan),
    Foreign key(KdKaryawan) Refrences Karyawan(KdKaryawan)
    )

    Create Table SO_Detail
    (
    Kd_SO varchar(50),
    KdBarang varchar(50),
    Qty int,
    Harga money,
    SubTotal money,
    Diskon money,
    Total money,
    Foreign key(Kd_So) References SO_Header(Kd_So),
    Foreign key(KdBarang) References Barang(KdBarang)
    )

    Create Table Barang
    (
    KdBarang varchar(50),
    NamaBarang varchar(255),
    KdJenisBarang varchar(50),
    Stok int,
    HargaBeli money,
    HargaJual money,
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime,
    Foreign key(KdJenisBarang) References JenisBarang(KdJenisBarang)
    )

    Create Table JenisBarang
    (
    KdJenisBarang varchar(50),
    NamaJenisBarang varchar(255),
    Keterangan varchar(255),
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime
    )

    Create Table Pelanggan
    (
    KdPelanggan varchar(50) primary key,
    NamaPelanggan varchar(255),
    KdJenisPelanggan varchar(50),
    Telp varchar(50),
    Hp varchar(50),
    Alamat varchar(255),
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime,
    Foreign Key(KdJenisPelanggan) References JenisPelanggan(KdJenisPelanggan)
    )

    Create Table JenisPelanggan
    (
    KdJenisPelanggan varchar(50) primary key,
    NamaJenisPelanggan varchar(255),
    Keterangan varchar(255),
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime
    )

    Create Table Karyawan
    (
    KdKaryawan varchar(50) primary key,
    NamaKaryawan varchar(255),
    KdJabatan varchar(50),
    Telp varchar(50),
    Hp varchar(50),
    Alamat varchar(255),
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime,
    Foreign key(KdJabatan) References Jabatan(KdJabatan)
    )

    Create Table Jabatan
    (
    KdJabatan varchar(50) primary key,
    NamaJabatan varchar(255),
    Keterangan varchar(255),
    Addby varchar(50),
    AddDate datetime,
    UpdateBy varchar(50),
    UpdateDate datetime
    )

    –menginsert tabel transaksi sales order header dan detail

    declare
    Tanggal date;
    Pelanggan varchar(50);
    Qty int;
    Karyawan varchar(50);
    JenisPelanggan char(5);

    Kd_SO varchar(50);
    KdBarang varchar(50);
    Jumlah int;

    jumlahTransaksi int:=1000;

    counter int:=jumlahTransaksi ;
    counter2 int;
    temp int;

    begin
    while counter>0 loop

    –Random data
    Tanggal := to_date(’1-Jan-08′,’DD-Mon-RR’) + round(dbms_random.value(0,365));
    Pelanggan := ‘C’ || lpad(round(dbms_random.value(1,10)),4,’0′);
    Qty := round(dbms_random.value(1,4));
    Karyawan := ‘S’ || lpad(round(dbms_random.value(1,3)),4,’0′);
    Kd_SO := ‘T’ || lpad(jmltrans-counter+1,4,’0′);

    –Mengambil jenis Pelanggan
    select KdJenisPelanggan into JenisPelanggan from Pelanggan where KdPelanggan=Pelanggan;

    –Insert data header
    insert into SOHeader values (Kd_SO, Karyawan, Pelanggan, Tanggal);

    –Persiapkan Qty
    counter2:=Qty;

    while counter2>0 loop

    –Random Kode Barang yang dibeli dan qty
    KdBarang := ‘P’ || lpad(round(dbms_random.value(1,4)),4,’0′);

    if(JenisPelanggan=’J0001′) then
    Jumlah := round(dbms_random.value(1,10));
    else
    Jumlah := round(dbms_random.value(20,50));
    end if;

    –Cek di detail ada atau tidak customer membeli barang yang sama dalam 1 hari

    select count(b.Kd_SO) into temp from So_Header a, SO_Detail b where
    a.KD_SO=b.No_KD_SO(+) and
    a.KdPelanggan=Pelanggan and
    b.KdBarang=KdBarang;

    –Jika ada hapus transaksi, ulang loop
    if temp!=0 then
    delete from SO_Detail where KD_SO=KD_SO;
    delete from SO_Header where Kd_SO=KD_SO;
    counter:=counter+1;
    counter2:=0;
    else
    insert into SODetail values(KD_SO,KDBarang,Jumlah);
    end if;

    –Kurangi counter jumlah
    counter2:=counter2-1;
    end loop;

    –Kurangi counter transaksi
    counter:=counter-1;

    end loop;
    end;

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  22. Denni Efendi says:

    Denni Efendi
    06PGT
    1000835751

    CREATE TABLE TrHeaderSO
    (
    No_SO varchar2(10),
    KdCustomer varchar2(10),
    KdSales varchar2(10),
    Tanggal date,
    primary key(No_SO),
    foreign key(KdCustomer) references MsCustomer(KdCustomer) on delete cascade,
    foreign key(KdSales) references MsSalesPerson(KdSales) on delete cascade
    );

    CREATE TABLE TrDetailSO
    (
    No_SO varchar2(10),
    KdProduk varchar2(10),
    Qty int,
    primary key(No_SO,KdProduk),
    foreign key(No_SO) references TrHeaderSO(No_SO) on delete cascade,
    foreign key(KdProduk) references MsProduk(KdProduk)
    );

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  23. erfan melanaga (1000873503)
    kelas: 06PGT

    create table SOHeder
    (
    noSO varchar2(20) PRIMARY KEY,
    idPelanggan varchar(20),
    idSperson varchar(20),
    tanggalSO DATE,
    constraint c_1 FOREIGN KEY(idPelanggan) REFERENCES pelanggan(idPelanggan),
    constraint c_2 FOREIGN KEY(idSperson) REFERENCES Sperson(idSperson)
    );

    insert into SOHeder values(‘SO001′,’PL001′,’SP001′,TO_DATE(‘15-05-2009′,’DD-MM-YY’))
    create table SODetil
    (
    noSO varchar2(20),
    kdProduk varchar(20),
    qty numeric,
    constraint c_3 PRIMARY KEY(noSO, kdProduk),
    constraint c_4 FOREIGN KEY(kdProduk) REFERENCES produk(kdProduk)
    );

    insert into SODetil values(‘SO001′,’P001′,15)

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  24. Johan Santoso says:

    CREATE TABLE SoHeader (
    KodeSalesOrder VARCHAR2(6) PRIMARY KEY NOT NULL,
    KodeCustomer VARCHAR2(5) NOT NULL,
    KodeSalesPerson VARCHAR2(6) NOT NULL,
    TanggalSalesOrder DATE,
    FOREIGN KEY(KodeCustomer) REFERENCES MsCustomer(KodeCustomer),
    FOREIGN KEY(KodeSalesPerson) REFERENCES MsSalesPerson(KodeSalesPerson)
    );
    CREATE TABLE SoDetail (
    KodeSalesOrder VARCHAR2(6) PRIMARY KEY NOT NULL,
    KodeProduct VARCHAR(5) PRIMARY KEY NOT NULL,
    QuantitySales NUMBER,
    FOREIGN KEY(KodeSalesOrder) REFERENCES SoHeader(KodeSalesOrder),
    FOREIGN KEY(KodeProduct) REFERENCES MsProduct(KodeProduct)
    );
    INSERT INTO SoHeader VALUES(’SO0001′,’C0005′,’SP0002′,’2009-05-31′);
    INSERT INTO SoDetail VALUES(’SO0002′,’P0008′,50);

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  25. Herman 1000841842 06PGT says:

    create table SalesOrder
    (
    SalesOrderId char(7) primary key not null,
    SalesOrderDate date not null,
    CustomerID char(7) not null,
    SalesID char(7) not null
    CONSTRAINT salesorder_fk1 FOREIGN KEY(SalesOrderID) REFERENCES Sales(SalesID),
    CONSTRAINT salesorder_fk2 FOREIGN KEY(CustomerID) REFERENCES Customer(CustomerID)
    );

    create table DetailSalesOrder
    (
    SalesOrderId char(7) not null,
    ProductID char(7) not null,
    Qty number,
    PRIMARY KEY(SalesOrderID,ProductID),
    CONSTRAINT DetailSalesOrder_fk1 FOREIGN KEY(SalesOrderID) REFERENCES SalesOrder(SalesOrderID),
    CONSTRAINT DetailSalesOrder_fk2 FOREIGN KEY(ProductID) REFERENCES Product(ProductID)
    )

    jawaban untuk generate random nyusul pak :P

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  26. Yusup says:

    Yusup Martinus Freddi K/ 1000848073/ 06PGT

    CREATE TABLE TrSOHeader(
    NoTrans CHAR(10) NOT NULL,
    KdCustomer CHAR(10) NOT NULL,
    KdKaryawan CHAR(10) NOT NULL,
    TanggalTran DATETIME NOT NULL,
    PRIMARY KEY (NoTrans),
    FOREIGN KEY (KdCustomer) REFERENCES MsCustomer
    ON UPDATE CASCADE ON DELETE CASCADE,
    FOREIGN KEY (KdKaryawan) REFERENCES MsKaryawan
    ON UPDATE CASCADE ON DELETE CASCADE
    );

    CREATE TABLE TrSODetail(
    NoTrans CHAR(10) NOT NULL,
    KdProduct CHAR(10) NOT NULL,
    Jumlah INT NOT NULL,
    PRIMARY KEY (NoTrans,KdProduct),
    FOREIGN KEY (NoTrans) REFERENCES HeaderPembelian
    ON UPDATE CASCADE ON DELETE CASCADE,
    FOREIGN KEY (KdProduct) REFERENCES game
    ON UPDATE CASCADE ON DELETE CASCADE
    );

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  27. Yuliana says:

    1000836306
    06PGT

    ===========

    CREATE DATABASE dwh_1000dummy

    /* SalesOrders */

    CREATE TABLE HdSalesOrders
    (
    SalesOrderID int NOT NULL,
    SalesOrderNo int NOT NULL,
    SalesPID number(5) NOT NULL,
    CustomerID number(10) NOT NULL,
    SalesOrderDate date timestamp(6) NOT NULL,
    CONSTRAINT hdSalesOrder_pk PRIMARY KEY (SalesOrderID),
    CONSTRAINT fk1_SalesOrder FOREIGN KEY (SalesPID) REFERENCES SalesP(SalesPID),
    CONSTRAINT fk2_SalesOrder FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID),
    CONSTRAINT fk3_SalesOrder FOREIGN KEY (KdProduk) REFERENCES Products(KdProduk)
    )

    CREATE TABLE DtSalesOrders
    (
    SalesOrderID int NOT NULL,
    SalesOrderNo int NOT NULL,
    KdProduk number(5) NOT NULL,
    Qty number(50) NOT NULL,
    CONSTRAINT dtSalesOrder_pk PRIMARY KEY (SalesOrderID),
    CONSTRAINT fk1_dtSalesOrder FOREIGN KEY (SalesOrderID) REFERENCES HdSalesOrders (SalesOrderID)
    )

    CREATE OR REPLACE Function AddQty
    ( CustTypeID_in IN NUMBER )
    RETURN NUMBER
    IS
    Qty number:=0;
    Qty1 number:=0;
    Qty2 number:=0;

    cursor c1 is
    select dbms_random.value(1,10) num from dual;

    cursor c2 is
    select dbms_random.value(20,50) num from dual;

    BEGIN
    open c1;
    fetch c1 into Qty1;
    close c1;

    open c2;
    fetch c2 into Qty2;
    close c2;

    IF CustTypeID_in == 1 THEN
    Qty := Qty1;
    ELSIF CustTypeID == 2 THEN
    Qty := Qty2;
    END IF;

    RETURN Qty;
    END;

    CREATE SEQUENCE seq_SalesOrder
    MINVALUE 00001
    START WITH 00001
    INCREMENT BY 00001
    NOCACHE

    INSERT INTO SalesOrders (SalesOrderID,SalesPID,CustomerID,KdProduk,Qty)
    VALUES (seq_SalesOrder.nextval ,
    SELECT SalesPID FROM
    ( SELECT * FROM SalesP
    ORDER BY dbms_random.value )
    WHERE rownum = 1 ,
    SELECT CustomerID FROM
    ( SELECT * FROM Customer
    ORDER BY dbms_random.value ) as A
    WHERE rownum = 1 ,

    SELECT KdProduk FROM
    ( SELECT * FROM Products
    ORDER BY dbms_random.value )
    WHERE rownum = 1 ,
    AddQty(SELECT CustomerTypeID FROM A) )

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  28. Donny M says:

    1000843015
    06 PGT

    DDL
    Create table TrHeaderSO
    (
    NoSo char(5),
    Tanggal date,
    KdCustomer char(5),
    KdSales char(5),
    constraint a primary key(NoSo)
    );

    Create table TrDetailSO
    (
    NoSO char(5),
    KdProduct char(5),
    Jumlah numeric,
    constraint b primary key(NoSo,KdProduct)
    );

    NB:Untuk DML ny masih dalam proses pak…

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  29. Heriyanto says:

    Heriyanto
    1000836262
    06PGT
    Oracle

    CREATE TABLE TrHeaderSO(
    KodeSO CHAR(10) PRIMARY KEY,
    KodeSales CHAR(5) NOT NULL,
    KodeCustomer VARCHAR(5) NOT NULL,
    Tanggal DATE NOT NULL,
    FOREIGN KEY (KodeSales) REFERENCES MsCustomer(KodeSales);
    );

    CREATE TABLE TrDetailSO(
    KodeSO CHAR(10),
    KodeProduk VARCHAR(5) NOT NULL,
    Qty NUMBER NOT NULL,
    PRIMARY KEY(KodeSo, KodeProduk),
    FOREIGN KEY (KodeSo) REFERENCES TrHeaderSO(KodeSO),
    FOREIGN KEY (KodeProduk) REFERENCES MsProduct(KodeProduk)
    );

    INSERT INTO TrHeaderSO VALUES(‘SO001′, ‘P001′, ‘C001′, ‘10-10-2008′);
    INSERT INTO TrHeaderSO VALUES(‘SO002′, ‘P002′, ‘C002′, ‘09-09-2008′);
    INSERT INTO TrHeaderSO VALUES(‘SO003′, ‘P003′, ‘C003′, ‘08-08-2008′);

    INSERT INTO TrDetailSO VALUES(‘SO001′, ‘P001′, 50);
    INSERT INTO TrDetailSO VALUES(‘SO002′, ‘P002′, 60);
    INSERT INTO TrDetailSO VALUES(‘SO003′, ‘P003′, 70);

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  30. Arsy A says:

    NIM: 1000854946
    06PGT

    CREATE HeaderTransaksiSO (
    noSO VARCHAR2 (5)
    CONSTRAINT header_noso_pk PRIMARY KEY,
    KodeCust varchar(5)
    CONSTRAINT header_kdcust_fk REFERENCES MsCustomer(KodeCust),
    KodeSalesPerson VARCHAR2(5)
    CONSTRAINT header_kdsp_fk REFERENCES MsSalesPerson(KodeSalesPerson),
    TglUpdateSO DATE DEFAULT SYSDATE
    CONSTRAINT tgl_update_so_nn NOT NULL);
    );

    CREATE DetailTransaksiSO(
    noSO VARCHAR2 (5)
    CONSTRAINT detail_noso_fk REFERENCES HeaderTransaksiSO(noSO),
    KodeProduk VARCHAR2(5)
    CONSTRAINT detail_kdproduk_fk REFERENCES MsProduk(KodeProduk),
    Jumlah NUMBER(10)
    CONSTRAINT detail_jumlah_nn NOT NULL
    );

    NB: itu insert nya harus dirandom ya pak?..masih belum bisa ngerandom..

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  31. Dony Kuswanto says:

    NIm:1000847101 / 06PGT

    Create table HeaderSO
    (
    KdSo varchar(5) primary key,
    KdCustomer varchar(5),
    KdSales varchar(5),
    TanggalSO date
    );

    Create table DetailSO
    (
    KdSO varchar(5),
    KdProduct varchar(5),
    qty numeric,
    constraint c1 primary key(KdSo,KdProduct),
    constraint c2 foreign key(KdProduct) references product(kdProduct)
    );

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  32. Dewi K Chandra says:

    1000860652
    06PGT

    CREATE TABLE HeaderSO(
    NoSO CHAR(7) PRIMARY KEY,
    KdSales CHAR(5) NOT NULL,
    KdCustomer CHAR(5) NOT NULL,
    Tgl DATE NOT NULL,
    FOREIGN KEY (KdCustomer) references MsCustomer,
    FOREIGN KEY (KdSales) references MsSalesPerson
    );

    CREATE TABLE DetailSO(
    NoSO CHAR(7),
    KdProduk CHAR(5) NOT NULL,
    Qty NUMBER NOT NULL,
    PRIMARY KEY(NoSO, KdProduk),
    FOREIGN KEY (NoSO) REFERENCES HeaderSO,
    FOREIGN KEY (KdProduk) REFERENCES MsProduct
    );

    INSERT INTO HeaderSO VALUES(’SO001′, ‘SP001′, ‘C003′, ‘10/25/2008′);
    INSERT INTO HeaderSO VALUES(’SO002′, ‘SP002′, ‘C007′, ‘02/14/2009′);
    INSERT INTO HeaderSO VALUES(’SO003′, ‘SP003′, ‘C008′, ‘04/08/2009′);

    INSERT INTO DetailSO VALUES(’SO001′, ‘P001′, 100);
    INSERT INTO DetailSO VALUES(’SO002′, ‘P002′, 50);
    INSERT INTO DetailSO VALUES(’SO003′, ‘P003′, 150);

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  33. Garry B says:

    Nama : Garry B
    Kelas : 06PGT
    NIM : 1000836281

    CREATE TABLE TrHeaderSO(
    KodeSO CHAR(10) PRIMARY KEY,
    KodeSales CHAR(5) NOT NULL,
    KodeCustomer CHAR(5) NOT NULL,
    Tanggal DATE NOT NULL,
    FOREIGN KEY (KodeSales) REFERENCES MsSalesPerson(KodeSales),
    FOREIGN KEY (KodeCustomer) REFERENCES MsCustomer(KodeCustomer)
    );

    CREATE TABLE TrDetailSO(
    KodeSO CHAR (10),
    KodeProduk CHAR(5) NOT NULL,
    Qty NUMBER NOT NULL,
    PRIMARY KEY(KodeSo, KodeProduk),
    FOREIGN KEY (KodeSo) REFERENCES TrHeaderSO (KodeSO),
    FOREIGN KEY (KodeProduk) REFERENCES MsProduct (KodeProduk)
    );

    /*************Koding untuk insert data 1000****************/

    DECLARE
    counter PLS_INTEGER :=0;
    KodeSO char(10);
    KodeSales char(5) ;
    KodeCustomer char(5);
    tanggal DATE;
    intTanggal PLS_INTEGER := 2454467 ; /* Tanggal 1-1-2008 dalam bentuk julian*/
    KodeProduk char(5);
    Qty PLS_INTEGER;
    transPerHari PLS_INTEGER ;
    counterHari PLS_INTEGER;
    temp PLS_INTEGER;
    counterDetail PLS_INTEGER;
    jumlahDetail PLS_INTEGER;
    validator PLS_INTEGER;
    validee PLS_INTEGER;
    BEGIN
    WHILE intTanggal < 2454832 LOOP /*Tanggal 31-12-2008 dalam bentuk julian */
    SELECT floor(dbms_random.value(0,5)) INTO transPerHari FROM DUAL;
    counterHari :=0;
    WHILE counterHari < transPerHari LOOP
    /*Generate keluar pesan Kode Sales*/
    IF counter < 10 THEN
    KodeSO:= ‘SO’ || ‘0000′ || to_char(counter);
    ELSIF counter < 100 THEN
    KodeSO:= ‘SO’ || ‘000′ || to_char(counter);
    ELSIF counter < 1000 THEN
    KodeSO:= ‘SO’ || ‘00′ || to_char(counter);
    ELSIF counter 10 THEN KodeCustomer := ‘C001′ ;
    ELSE KodeCustomer := ‘C00′ || to_char(temp);
    END IF;

    SELECT TO_DATE(TRUNC(intTanggal), ‘J’) INTO Tanggal FROM DUAL;

    INSERT INTO TrHeaderSO VALUES (KodeSO, KodeSales, KodeCustomer, Tanggal);
    dbms_output.put_line(KodeSO);

    /********Mulai Insert ke tabel detail ****************/
    SELECT floor(dbms_random.value(1,4)) INTO jumlahDetail FROM DUAL;
    counterDetail := 0;
    validator := 1;
    WHILE counterDetail 4 THEN
    kodeProduk := ‘P001′;
    temp := 1;
    ELSE
    KodeProduk := ‘P00′ || to_char(temp);
    END IF;

    IF temp=1 THEN validee:=2;
    ELSIF temp=2 THEN validee:=3;
    ELSIF temp=3 THEN validee:=5;
    ELSIF temp=4 THEN validee:=7;
    END IF;

    IF mod(validator, validee) > 0 THEN
    validator := validator * validee;

    /*Insert qty*/
    SELECT floor(dbms_random.value(1,10)) INTO temp FROM DUAL;
    Qty := temp;

    INSERT INTO TrDetailSO VALUES (KodeSO, KodeProduk, Qty);
    dbms_output.put_line(KodeSO || ‘ ‘ ||KodeProduk);

    counterDetail := CounterDetail + 1;
    END IF;
    END LOOP;

    counter := counter + 1;
    counterHari := counterHari + 1;
    IF counter = 1000 THEN
    EXIT;
    END IF;
    END LOOP;

    IF counter = 1000 THEN
    EXIT;
    END IF;

    intTanggal := intTanggal + 1;
    END LOOP;
    END;
    /

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  34. 1000835764 says:

    CREATE TABLE SO_Det (
    SalesNo VARCHAR2(5) NOT NULL,
    ProductNo VaRCHAR(5) NOT NULL,
    Sum INT NOT NULL,
    Price number(5,2) NOT NULL,
    Subtotal number(8,2) NOT NULL,
    PRIMARY KEY(SalesNo,ProductNo),
    FOREIGN KEY(SalesNo) REFERENCES SoHeader(SalesNo),
    FOREIGN KEY(ProductNo) REFERENcEs MsProduct(ProductNo)
    );

    CREATE TABLE SO_Head (
    SalesNo VARCHAR2(5) NOT NULL,
    CustNo VARCHAR2(5) NOT NULL,
    SalesPersonNo VARCHaR2(5) NOT NULL,
    DateSold DATE NOT NULL,
    Total number(8,2) NOT NULL
    PRIMARY KEY(SalesNo),
    FOREIGN KEY(CustNo) REFERENCES MsCustomer(CustNo),
    FOREIGN KEY(SalesPersonNo) REFERENCES MsSalesPerson(SalesPersonNo)
    );

    INSERT INTO SO_Det VALUES(’S001′,’P002′,5,19000);
    INSERT INTO SO_Heat VALUES(’S001′,’C003′,’SP002′,’2009-02-24′,95000,00);

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  35. Beny says:

    - Mengcreate TABEL Transaksi SO Header (DDL)

    CREATE TABLE SOHeader
    (
    KodeSO varchar(5) Primary Key,
    Beny
    1000867734
    06PGT

    KodeCustomer varchar(5),
    KodeSales varchar(5),
    TanggalSO DATE,
    constraint c_1 FOREIGN KEY(KodeCustomer) REFERENCES MsCustomer(KodeCustomer),
    constraint c_2 FOREIGN KEY(KodeSales) REFERENCES MsSales (KodeSales)
    );

    - Mengcreate TABEL Transaksi SO Detail (DDL)

    CREATE TABLE SODetail
    (
    KodeSO varchar2(5),
    KodeProduk varchar(5),
    Qty numeric,
    constraint c_3 PRIMARY KEY(KodeSO, KodeProduk),
    constraint c_4 FOREIGN KEY(KodeProduk) REFERENCES MsProduct(KodeProduk)
    );

    - Memasukkan Data pada Tabel SO Header dan SO Detail (DML)

    insert into SOHeader values(’S0001′,’C0001′,’S0001′,TO_DATE(’31-05-2009′,’DD-MM-YY’));

    insert into SODetail values(’S0001′,’P0001′,50);

    pak, yg masukin nilai randomnya belum. menyusul. :D

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  36. Heriyanto says:

    CREATE TABLE TrHeaderSO(
    KodeSO CHAR(10) PRIMARY KEY,
    KodeSales CHAR(5) NOT NULL,
    KodeCustomer CHAR(5) NOT NULL,
    Tanggal DATE NOT NULL,
    FOREIGN KEY (KodeSales) REFERENCES MsSalesPerson(KodeSales),
    FOREIGN KEY (KodeCustomer) REFERENCES MsCustomer(KodeCustomer)
    );

    CREATE TABLE TrDetailSO(
    KodeSO CHAR (10),
    KodeProduk CHAR(5) NOT NULL,
    Qty NUMBER NOT NULL,
    PRIMARY KEY(KodeSo, KodeProduk),
    FOREIGN KEY (KodeSo) REFERENCES TrHeaderSO (KodeSO),
    FOREIGN KEY (KodeProduk) REFERENCES MsProduct (KodeProduk)
    );

    /*************Koding untuk insert data 1000****************/

    DECLARE
    counter PLS_INTEGER :=0;
    KodeSO char(10);
    KodeSales char(5) ;
    KodeCustomer char(5);
    tanggal DATE;
    intTanggal PLS_INTEGER := 2454467 ; /* Tanggal 1-1-2008 dalam bentuk julian*/
    KodeProduk char(5);
    Qty PLS_INTEGER;
    transPerHari PLS_INTEGER ;
    counterHari PLS_INTEGER;
    temp PLS_INTEGER;
    counterDetail PLS_INTEGER;
    jumlahDetail PLS_INTEGER;
    validator PLS_INTEGER;
    validee PLS_INTEGER;
    BEGIN
    WHILE intTanggal < 2454832 LOOP /*Tanggal 31-12-2008 dalam bentuk julian */
    SELECT floor(dbms_random.value(0,5)) INTO transPerHari FROM DUAL;
    counterHari :=0;
    WHILE counterHari < transPerHari LOOP
    /*Generate keluar pesan Kode Sales*/
    IF counter < 10 THEN
    KodeSO:= ‘SO’ || ‘0000′ || to_char(counter);
    ELSIF counter < 100 THEN
    KodeSO:= ‘SO’ || ‘000′ || to_char(counter);
    ELSIF counter 0 THEN
    validator := validator * validee;

    /*Insert qty*/
    SELECT floor(dbms_random.value(1,10)) INTO temp FROM DUAL;
    Qty := temp;

    INSERT INTO TrDetailSO VALUES (KodeSO, KodeProduk, Qty);
    dbms_output.put_line(KodeSO || ‘ ‘ ||KodeProduk);

    counterDetail := CounterDetail + 1;
    END IF;
    END LOOP;

    counter := counter + 1;
    counterHari := counterHari + 1;
    IF counter = 1000 THEN
    EXIT;
    END IF;
    END LOOP;

    IF counter = 1000 THEN
    EXIT;
    END IF;

    intTanggal := intTanggal + 1;
    END LOOP;
    END;
    /

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  37. Heriyanto says:

    Heriyanto
    1000836262
    06PGT
    Oracle

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  38. Andreyus says:

    /* Membuat Transaksi Sales Order */

    create table HeaderSalesOrder
    (
    NoSo varchar2(10) primary key,
    Tanggal date,
    KodeCustomer varchar2(10),
    KodeSalesPerson varchar2(10),
    CONSTRAINT so_cust_fk FOREIGN KEY (KodeCustomer) references Customer(KodeCustomer),
    CONSTRAINT so_sales_fk FOREIGN KEY (KodeSalesPerson) references SalesPerson(KodeSalesPerson)
    );

    create table DetailSalesOrder
    (
    NoSO varchar2(10),
    KodeProduk varchar2(10),
    Qty int,
    primary key(NoSO,KodeProduk),
    CONSTRAINT so_soso_fk FOREIGN KEY (NoSO) references HeaderSalesOrder(NoSO),
    CONSTRAINT so_prod_fk FOREIGN KEY (KodeProduk) references Product(KodeProduk)
    );

    /*========================================================*/

    /* Memasukan ke dalam Transaksi Sales Order */
    DECLARE
    jml INT:=1;
    byk INT:=0;
    tempkode INT:=0;
    kode VARCHAR2(10);
    ran INT;
    rana INT;
    cust varchar2(10);
    sp varchar2(10);
    qty INT:=0;
    bykran INT:=0;
    barang varchar2(10);
    cek INT:=0;

    BEGIN
    WHILE jml<=1000 LOOP
    tempkode:=jml;

    IF tempkode < 10 THEN
    kode := ‘SO0000′ || to_char(tempkode);
    ELSIF tempkode<100 THEN
    kode := ‘SO000′ || to_char(tempkode);
    ELSIF tempkode<1000 THEN
    kode := ‘SO00′ || to_char(tempkode);
    ELSIF tempkode<10000 THEN
    kode := ‘SO0′ || to_char(tempkode);
    END IF;

    /* Random KodeCustomer */
    ran := mod(trunc(DBMS_RANDOM.VALUE *10), 10) + 1;
    IF ran < 10 THEN
    cust := ‘KC00′ || to_char(ran);
    ELSIF ran < 100 THEN
    cust := ‘KC0′ || to_char(ran);
    END IF;

    /* Random KodeSalesOrder */
    ran := mod(trunc(DBMS_RANDOM.VALUE *10), 3) + 1;
    sp := ‘SP00′ || to_char(ran);

    insert into HeaderSalesOrder values(kode,TO_DATE(‘01-01-2001′,’dd-mm-yyyy’),cust,sp);

    /* Random Byk Jenis Barang yang dibeli customer 1 – 5*/
    rana := mod(trunc(DBMS_RANDOM.VALUE *10), 4) + 1;
    byk:=0;
    WHILE byk<rana LOOP

    bykran := mod(trunc(DBMS_RANDOM.VALUE *10), 4) + 1;
    barang := ‘P00′ || to_char(bykran);

    select count(*) into cek from detailsalesorder WHERE NoSO = kode and KodeProduk = barang;
    IF (cek < 1) THEN
    /* Random Qty yg dibeli 1-100 */
    qty := mod(trunc(DBMS_RANDOM.VALUE *100), 100) + 1;
    insert into DetailSalesOrder values(kode,barang,qty);
    END IF;

    byk:=byk+1;
    END LOOP;

    jml:=jml+1;
    END LOOP;

    END;

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  39. Herman 06PGT 1000841842 says:

    create table SalesOrder
    (
    SalesOrderID char(5) primary key not null,
    SalesID char(5) not null,
    CustomerID char(5) not null,
    SalesDate date not null,
    CONSTRAINT salesorder_fk1 FOREIGN KEY(SalesID) REFERENCES Sales(SalesID),
    CONSTRAINT salesorder_fk2 FOREIGN KEY(CustomerID) REFERENCES Customer(CustomerID)
    );

    create table DetailSalesOrder
    (
    SalesOrderID char(5) not null,
    ProductID char(5) not null,
    Qty number,
    PRIMARY KEY(SalesOrderID,ProductID),
    CONSTRAINT detailSalesOrder_fk FOREIGN KEY(SalesOrderID) REFERENCES Sales(SalesOrderID),
    CONSTRAINT detailSalesOrder_fk2 FOREIGN KEY(ProductID) REFERENCES Product(ProductID)
    );

    With Random… (but error) T.T

    DECLARE
    IdSLRand number;
    IdCSRand number;
    IdProRand number;
    Trans number;
    qty number;
    IdSO char(5);
    IdSL char(5);
    IdCS char(5);
    IdPro char(5);
    Tgl Date;
    hari number;
    bulan number;
    tahun number;

    BEGIN
    FOR i IN 1.. 10 LOOP
    IF i < 10 then
    IdSO := ‘SO00′ || to_char(i);
    ELSEIF i < 100 then
    IdSO := ‘SO0′ || to_char(i);
    ELSEIF i < 1000 then
    IdSO := ‘SO’ || to_char(i);
    END IF;

    IdSLRand := trunc(DBMS_RANDOM.value * 3) + 1;
    IdSL := ‘SL00′ || to_char(IdSLRand);

    IdCSRand := trunc(DBMS_RANDOM.value * 10) + 1;

    IF IdCSRand < 10 THEN
    IdCS := ‘CS00′ + to_char(IdCSRand);
    ELSEIF IdCSRand < 100 then
    IdCS := ‘CS0′ + to_char(IdCSRand);
    END IF;

    hari := trunc(DBMS_RANDOM.value * 30) + 1;
    bulan := trunc(DBMS_RANDOM.value * 12) + 1;
    tahun := trunc(DBMS_RANDOM.value * 2) + 2009;
    Tgl := TO_CHAR(hari) || ‘/’ || to_char(bulan) || ‘/’ || to_char(tahun);

    INSERT INTO SalesORder values (IdSO, IdSL, IdCS, Tgl);

    Trans := trunc(DBMS_RANDOM.VALUE * 2) + 1;

    FOR J IN 1.. Trans LOOP
    IdProRand := trunc(DBMS_RANDOM.value * 4) + 1;
    qty := trunc(DBMS_RANDOM.value * 5) + 1;
    IdPro := ‘P00′ || to_char(IdProRand);
    insert into detailSalesOrder values(IdSO, IdPro, qty);
    END LOOP;
    END LOOP;
    END;

    With no Random
    insert into SalesOrder values (‘SO001′,’SL001′,’CS001′,’01/01/2009′);
    insert into SalesOrder values (‘SO002′,’SL002′,’CS002′,’01/05/2009′);
    insert into SalesOrder values (‘SO003′,’SL002′,’CS003′,’01/07/2009′);
    insert into SalesOrder values (‘SO004′,’SL003′,’CS004′,’01/08/2009′);
    insert into SalesOrder values (‘SO005′,’SL001′,’CS005′,’01/10/2009′);
    insert into SalesOrder values (‘SO006′,’SL002′,’CS006′,’01/12/2009′);
    insert into SalesOrder values (‘SO007′,’SL001′,’CS007′,’01/01/2009′);
    insert into SalesOrder values (‘SO008′,’SL003′,’CS008′,’01/01/2009′);

    insert into detailSalesOrder values (‘SO001′,’P001′,2);
    insert into detailSalesOrder values (‘SO001′,’P002′,1);
    insert into detailSalesOrder values (‘SO002′,’P002′,3);
    insert into detailSalesOrder values (‘SO003′,’P004′,4);
    insert into detailSalesOrder values (‘SO004′,’P003′,5);
    insert into detailSalesOrder values (‘SO005′,’P002′,6);
    insert into detailSalesOrder values (‘SO006′,’P001′,2);
    insert into detailSalesOrder values (‘SO006′,’P002′,1);
    insert into detailSalesOrder values (‘SO007′,’P003′,1);
    insert into detailSalesOrder values (‘SO008′,’P001′,2);
    insert into detailSalesOrder values (‘SO008′,’P002′,2);
    insert into detailSalesOrder values (‘SO008′,’P003′,2);

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  40. Kelompok SQL 06PBT says:

    Kelompok SQL 06PBT

    create table headerSalesOrder
    (
    No_So char(5) primary key,
    kdCustomer char(5),
    kdSales char(5),
    tanggal date,
    foreign key (kdCustomer) references msCustomer,
    foreign key (kdSales) references msSales
    );

    create table detailSO
    (
    no_So char(5),
    KdProduk char(5),
    QTY NUMERIC,
    primary key (noTransaksi,kdProduk),
    foreign key (kdProduk) references msProduk
    );

    insert into headerSalesOrder values(’SO001′,’KC001′,’KS001′,’05/25/09′);
    insert into headerSalesOrder values(’SO002′,’KC003′,’KS003′,’05/26/09′);
    insert into headerSalesOrder values(’SO003′,’KC009′,’KS002′,’05/26/09′);

    insert into detailSalesOrder values(’SO001′,’KP001′,2);
    insert into detailSalesOrder values(’SO002′,’KP002′,1);
    insert into headerSalesOrder values(’SO003′,’KP004′,10);

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  41. Ora Cell 06PBT says:

    create table SalesOrder
    (
    KdSalesOrder varchar(6) primary key not null,
    KdSales varchar(6) not null,
    KdCustomer varchar(6) not null,
    SalesDate date not null,
    primary key(KdSalesOrder),
    CONSTRAINT salesorder_fk1 FOREIGN KEY(KdSales) REFERENCES Sales(KdSales),
    CONSTRAINT salesorder_fk2 FOREIGN KEY(CustomerID) REFERENCES Customer(KdCustomer)
    );

    create table DetailSalesOrder
    (
    KdSalesOrder varchar(6) not null,
    KdProduct varchar(6) not null,
    Qty int,
    PRIMARY KEY(KdSalesOrder,KdProduct),
    CONSTRAINT detailSalesOrder_fk FOREIGN KEY(KdSalesOrder) REFERENCES Sales(KdSalesOrder),
    CONSTRAINT detailSalesOrder_fk2 FOREIGN KEY(KdProduct) REFERENCES Product(KdProduct)
    );

    insert into SalesOrder values (’KSO01′,’KS01′,’KC01′,’01/01/2009′);
    insert into SalesOrder values (’KSO02′,’KS02′,’KC02′,’01/05/2009′);
    insert into SalesOrder values (’KSO03′,’KS02′,’KC03′,’01/07/2009′);
    insert into SalesOrder values (’KSO04′,’KS03′,’KC04′,’01/08/2009′);
    insert into SalesOrder values (’KSO05′,’KS01′,’KC05′,’01/10/2009′);
    insert into SalesOrder values (’KSO06′,’KS02′,’KC06′,’01/12/2009′);
    insert into SalesOrder values (’KSO07′,’KS02′,’KC07′,’01/01/2009′);
    insert into SalesOrder values (’KSO08′,’KS03′,’KC08′,’01/01/2009′);

    insert into detailSalesOrder values (’KSO01′,’P01′,2);
    insert into detailSalesOrder values (’KSO01′,’P02′,1);
    insert into detailSalesOrder values (’KSO02′,’P02′,3);
    insert into detailSalesOrder values (’KSO03′,’P04′,4);
    insert into detailSalesOrder values (’KSO04′,’P03′,5);
    insert into detailSalesOrder values (’KSO05′,’P02′,6);
    insert into detailSalesOrder values (’KSO06′,’P01′,2);
    insert into detailSalesOrder values (’KSO06′,’P02′,1);
    insert into detailSalesOrder values (’KSO07′,’P03′,1);
    insert into detailSalesOrder values (’KSO08′,’P01′,2);
    insert into detailSalesOrder values (’KSO08′,’P02′,2);
    insert into detailSalesOrder values (’KSO08′,’P03′,2);

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  42. vania - 1000842731 - 06 PBT says:

    INSERT INTO SO_Header VALUES(‘1′,’C0005′,’SP0002′,’2009-05-31′);
    INSERT INTO SO_Detail VALUES(‘1′,’P0003′,50);
    INSERT INTO SO_Detail VALUES(‘1′,’P0001′,50);
    INSERT INTO SO_Detail VALUES(‘1′,’P0002′,50);
    INSERT INTO SO_Detail VALUES(‘1′,’P0004′,50);

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  43. vania - 1000842731 - 06 PBT says:

    CREATE TABLE SO_Header (
    NoSalesOrder int NOT NULL,
    KdCust varchar(5) NOT NULL,
    KdSales varchar (5) NOT NULL,
    Tgl DATE NOT NULL ,
    PRIMARY KEY (NoSalesOrder)
    )
    INSERT INTO SO_Header VALUES(1,’C0005′,’S0002′,’2009-05-31′);

    CREATE TABLE SO_Detail (
    NoSalesOrder int NOT NULL,
    KdProduct varchar(5) NOT NULL,
    Qty int NOT NULL,
    )
    INSERT INTO SO_Detail VALUES(1,’P0003′,50);
    INSERT INTO SO_Detail VALUES(1,’P0002′,50);
    INSERT INTO SO_Detail VALUES(1,’P0001′,50);
    INSERT INTO SO_Detail VALUES(1,’P0004′,50);

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  44. august 1000843311 06pbt says:

    Kelompok SQL 06PBT

    create table headerSalesOrder
    (
    No_So char(5) primary key,
    kdCustomer char(5),
    kdSales char(5),
    tanggal date,
    foreign key (kdCustomer) references msCustomer,
    foreign key (kdSales) references msSales
    );

    create table detailSO
    (
    no_So char(5),
    KdProduk char(5),
    QTY NUMERIC,
    primary key (noTransaksi,kdProduk),
    foreign key (kdProduk) references msProduk
    );

    insert into headerSalesOrder values(’SO001′,’KC001′,’KS001′,’05/25/09′);
    insert into headerSalesOrder values(’SO002′,’KC003′,’KS003′,’05/26/09′);
    insert into headerSalesOrder values(’SO003′,’KC009′,’KS002′,’05/26/09′);

    insert into detailSalesOrder values(’SO001′,’KP001′,2);
    insert into detailSalesOrder values(’SO002′,’KP002′,1);
    insert into headerSalesOrder values(’SO003′,’KP004′,10)

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)
  45. Desy Ayu Puspita says:

    create table HeaderSalesOrder (
    KdSalesOrder varchar(8) primary key,
    TanggalSalesOrder date,
    KdCustomer references Customer,
    kdSalesPerson references SalesPerson
    )
    create table DetailSalesOrder (
    KdSalesOrder references SalesOrder,
    KdProduk references Produk,
    Qty number
    )

    INSERT INTO HeaderSalesOrder (KdSalesOrder,TanggalSalesOrder,KdCustomer,KdSalesPerson) VALUES (SO00001,’01-07-2009’,C00002, SP0001)
    INSERT INTO HeaderSalesOrder (KdSalesOrder,TanggalSalesOrder,KdCustomer,KdSalesPerson) VALUES (SO00002,’24-08-2009’,C00008, SP0002)
    INSERT INTO HeaderSalesOrder (KdSalesOrder,TanggalSalesOrder,KdCustomer,KdSalesPerson) VALUES (SO00003,’12-11-2009’,C00005, SP0003);
    INSERT INTO DetailSalesOrder (KdSalesOrder,KdProduk,Qty) VALUES (SO00001,P001,15)
    INSERT INTO DetailSalesOrder (KdSalesOrder,KdProduk,Qty) VALUES (SO00001,P002,10)
    INSERT INTO DetailSalesOrder (KdSalesOrder,KdProduk,Qty) VALUES (SO00001,P003,17)
    INSERT INTO DetailSalesOrder (KdSalesOrder,KdProduk,Qty) VALUES (SO00002,P001,27)
    INSERT INTO DetailSalesOrder (KdSalesOrder,KdProduk,Qty VALUES (SO00002,P002,13)
    INSERT INTO DetailSalesOrder (KdSalesOrder,KdProduk,Qty) VALUES (SO00002,P003,10)
    INSERT INTO DetailSalesOrder (KdSalesOrder,KdProduk,Qty) VALUES (SO00003,P002,20)
    INSERT INTO DetailSalesOrder (KdSalesOrder,KdProduk,Qty) VALUES (SO00003,P003,25)
    INSERT INTO DetailSalesOrder (KdSalesOrder,KdProduk,Qty) VALUES (SO00003,P002,10)

    UN:F [1.8.1_1037]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.1_1037]
    Rating: 0 (from 0 votes)

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>