In: Computer Science
SQL
A manufacturing company’s data warehouse contains the following tables.
Region
| 
 region_id (p)  | 
 region_name  | 
 super_region_id (f)  | 
| 
 101  | 
 North America  | 
|
| 
 102  | 
 USA  | 
 101  | 
| 
 103  | 
 Canada  | 
 101  | 
| 
 104  | 
 USA-Northeast  | 
 102  | 
| 
 105  | 
 USA-Southeast  | 
 102  | 
| 
 106  | 
 USA-West  | 
 102  | 
| 
 107  | 
 Mexico  | 
 101  | 
Note: (p) = "primary key" and (f) = "foreign key". They are not part of the column names.
Product
| 
 product_id (p)  | 
 product_name  | 
| 
 1256  | 
 Gear - Large  | 
| 
 4437  | 
 Gear - Small  | 
| 
 5567  | 
 Crankshaft  | 
| 
 7684  | 
 Sprocket  | 
Sales_Totals
| 
 product_id (p)(f)  | 
 region_id (p)(f)  | 
 year (p)  | 
 month (p)  | 
 sales  | 
| 
 1256  | 
 104  | 
 2020  | 
 1  | 
 1000  | 
| 
 4437  | 
 105  | 
 2020  | 
 2  | 
 1200  | 
| 
 7684  | 
 106  | 
 2020  | 
 3  | 
 800  | 
| 
 1256  | 
 103  | 
 2020  | 
 4  | 
 2200  | 
| 
 4437  | 
 107  | 
 2020  | 
 5  | 
 1700  | 
| 
 7684  | 
 104  | 
 2020  | 
 6  | 
 750  | 
| 
 1256  | 
 104  | 
 2020  | 
 7  | 
 1100  | 
| 
 4437  | 
 105  | 
 2020  | 
 8  | 
 1050  | 
| 
 7684  | 
 106  | 
 2020  | 
 9  | 
 600  | 
| 
 1256  | 
 103  | 
 2020  | 
 10  | 
 1900  | 
| 
 4437  | 
 107  | 
 2020  | 
 11  | 
 1500  | 
| 
 7684  | 
 104  | 
 2020  | 
 12  | 
 900  | 
Answer the following questions using the above tables/data:
6. Write a set of SQL statements which will add a row to the Region
table for Europe, and then add a row to the Sales_Total table for
the Europe region and the Sprocket product (product_id = 7684) for
October 2020, with a sales total of $1,500. You can assign any
value to the region_id column, as long as it is unique to the
Region table. The statements should be executed as a single unit of
work. Please note that since the statements are executed as a
single unit of work, additional code is needed.
Below is the same tables and its values in the Question created in SQL;
REGION TABLE:
CREATE TABLE REGION(region_id integer PRIMARY KEY, region_name text,super_region_id integer);
Insert into REGION values(101,"North
America",null);
Insert into REGION values(102,"USA",101);
Insert into REGION values(103,"Canada",101);
Insert into REGION values(104,"USA-North East",102);
Insert into REGION values(105,"USA-South East",102);
Insert into REGION values(106,"USA-West",102);
Insert into REGION values(107,"Mexico",101);

PRODUCT TABLE:
CREATE TABLE PRODUCT(product_id integer PRIMARY KEY, product_name text);
Insert into Product values(1256,"Gear-Large");
Insert into Product values(4437,"Gear-Small");
Insert into Product values(5567,"Crankshaft");
Insert into Product values(7684,"Sprocket");

SALES_TOTALS TABLE:
CREATE TABLE SALES_TOTALS(product_id integer, region_id integer,year integer,month integer ,sales integer,PRIMARY KEY(product_id,region_id,year,month) FOREIGN KEY (product_id) references PRODUCT (product_id)FOREIGN KEY (region_id) references REGION (region_id));
Insert into SALES_TOTALS
values(1256,104,2020,1,1000);
Insert into SALES_TOTALS values(4437,105,2020,2,1200);
Insert into SALES_TOTALS values(7684,106,2020,3,800);
Insert into SALES_TOTALS values(1256,103,2020,4,2200);
Insert into SALES_TOTALS values(4437,107,2020,5,1700);
Insert into SALES_TOTALS values(7684,104,2020,6,750);
Insert into SALES_TOTALS values(1256,104,2020,7,1100);
Insert into SALES_TOTALS values(4437,105,2020,8,1050);
Insert into SALES_TOTALS values(7684,106,2020,9,600);
Insert into SALES_TOTALS values(1256,103,2020,10,1900);
Insert into SALES_TOTALS values(4437,107,2020,11,1500);
Insert into SALES_TOTALS values(7684,104,2020,12,900);

ANSWER
Below SQL statements inserts a new row to the REGION Table adding Europe Region and also inserts a row to the SALES_TOTALS Table adding Sprocket product (product_id = 7684) for October 2020, with a sales total of $1,500 for the European Region.
SAVEPOINT SP1;
Insert into REGION values (108,"Europe",null);
SAVEPOINT SP2;
Insert into SALES_TOTALS
values(7684,108,2020,10,1500);
Note:you can rollback to any of the savepoints if needed;
The REGION and SALES_TOTAL Tables after executing the statement;
REGION TABLE:

SALES_TOTALS TABLE:
