CREATE TABLE DATES AS
(SELECT L_ORDERKEY, L_LINENUMBER, L_SHIPDATE,
L_COMMITDATE, L_RECEIPTDATE
FROM LINEITEM );
CREATE TABLE OTHERS AS
(SELECT L_ORDERKEY, L_LINENUMBER, L_QUANTITY,
L_EXTENDEDPRICE, L_DISCOUNT, L_TAX, L_RETURNFLAG,
L_LINESTATUS, L_SHIPDATE, L_COMMITDATE,
L_RECEIPTDATE, L_SHIPINSTRUCT, L_SHIPMODE,
L_COMMENT
FROM LINEITEM );
CREATE TABLE ALL_SUPPLIERS AS (SELECT * FROM SUPPLIER);
INSERT INTO ALL_SUPPLIERS (SELECT * FROM SUPPLIER MINUS SELECT * FROM ALL_SUPPLIERS);
UPDATE ALL_SUPPLIERS
SET S_ADDRESS = (SELECT S_ADDRESS FROM SUPPLIER
WHERE ALL_SUPPLIERS.S_SUPPKEY = SUPPLIER.S_SUPPKEY);
INSERT
ALL
INTO DATES
VALUES(L_ORDERKEY, L_LINENUMBER, L_SHIPDATE,
L_COMMITDATE, L_RECEIPTDATE )
INTO OTHERS
VALUES(L_ORDERKEY, L_LINENUMBER, L_QUANTITY,
L_EXTENDEDPRICE, L_DISCOUNT, L_TAX, L_RETURNFLAG,
L_LINESTATUS, L_SHIPDATE, L_COMMITDATE,
L_RECEIPTDATE, L_SHIPINSTRUCT, L_SHIPMODE,
L_COMMENT)
SELECT *
FROM LINEITEM;
INSERT
ALL
WHEN L_QUANTITY > 40 THEN
INTO DATES
VALUES(L_ORDERKEY, L_LINENUMBER, L_SHIPDATE,
L_COMMITDATE, L_RECEIPTDATE )
WHEN L_QUANTITY < 50 THEN
INTO OTHERS
VALUES(L_ORDERKEY, L_LINENUMBER, L_QUANTITY,
L_EXTENDEDPRICE, L_DISCOUNT, L_TAX, L_RETURNFLAG,
L_LINESTATUS, L_SHIPDATE, L_COMMITDATE,
L_RECEIPTDATE, L_SHIPINSTRUCT, L_SHIPMODE,
L_COMMENT)
SELECT *
FROM LINEITEM;
INSERT
FIRST
WHEN L_QUANTITY > 40 THEN
INTO DATES
VALUES(L_ORDERKEY, L_LINENUMBER, L_SHIPDATE,
L_COMMITDATE, L_RECEIPTDATE )
WHEN L_QUANTITY < 50 THEN
INTO OTHERS
VALUES(L_ORDERKEY, L_LINENUMBER, L_QUANTITY,
L_EXTENDEDPRICE, L_DISCOUNT, L_TAX, L_RETURNFLAG,
L_LINESTATUS, L_SHIPDATE, L_COMMITDATE,
L_RECEIPTDATE, L_SHIPINSTRUCT, L_SHIPMODE,
L_COMMENT)
SELECT *
FROM LINEITEM;
MERGE INTO ALL_SUPPLIERS USING SUPPLIER S ON (ALL_SUPPLIERS.S_SUPPKEY = S.S_SUPPKEY) ...
MERGE INTO ALL_SUPPLIERS USING SUPPLIER S ON (ALL_SUPPLIERS.S_SUPPKEY = S.S_SUPPKEY) WHEN MATCHED THEN UPDATE SET ALL_SUPPLIERS.S_ADDRESS = S.S_ADDRESS;
MERGE
INTO ALL_SUPPLIERS
USING SUPPLIER S
ON (ALL_SUPPLIERS.S_SUPPKEY = S.S_SUPPKEY)
WHEN NOT MATCHED THEN
INSERT VALUES(S.S_SUPPKEY, S.S_NAME, S.S_ADDRESS,
S.S_NATIONKEY,S.S_PHONE, S.S_ACCTBAL,
S.S_COMMENT);
MERGE
INTO ALL_SUPPLIERS
USING SUPPLIER S
ON (ALL_SUPPLIERS.S_SUPPKEY = S.S_SUPPKEY)
WHEN NOT MATCHED THEN
INSERT VALUES(S.S_SUPPKEY, S.S_NAME, S.S_ADDRESS,
S.S_NATIONKEY,S.S_PHONE, S.S_ACCTBAL,
S.S_COMMENT)
WHERE S.S_NAME = 'James Bond';
MERGE INTO ALL_SUPPLIERS USING SUPPLIER S ON (ALL_SUPPLIERS.S_SUPPKEY = S.S_SUPPKEY) WHEN MATCHED THEN UPDATE SET ALL_SUPPLIERS.S_ADDRESS = S.S_ADDRESS DELETE WHERE S.S_NAME = 'James Bond';
CREATE TABLE ALL_SUPPLIERS AS (SELECT * FROM SUPPLIER);
MERGE
INTO ALL_SUPPLIERS
USING SUPPLIER S
ON (ALL_SUPPLIERS.S_SUPPKEY = S.S_SUPPKEY)
WHEN NOT MATCHED THEN
INSERT VALUES(S.S_SUPPKEY, S.S_NAME, S.S_ADDRESS, S.S_NATIONKEY,
S.S_PHONE, S.S_ACCTBAL, S.S_COMMENT)
WHEN MATCHED THEN
UPDATE SET ALL_SUPPLIERS.S_ADDRESS = S.S_ADDRESS;