Advertisement
Guest User

DDL DML

a guest
Jul 19th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 7.61 KB | None | 0 0
  1. use blankey
  2.  
  3. DROP TABLE IF EXISTS [dbo].[Orders_Fact]
  4. DROP TABLE IF EXISTS [dbo].[Times]
  5. DROP TABLE IF EXISTS [dbo].[Customers]
  6. DROP TABLE IF EXISTS [dbo].[Products]
  7. DROP TABLE IF EXISTS [dbo].[Employees]
  8.  
  9.  
  10. CREATE TABLE [dbo].[Employees](
  11.     [EmployeeID] [int] IDENTITY(1,1) NOT NULL,
  12.     [LastName] [nvarchar](20) NOT NULL,
  13.     [FirstName] [nvarchar](10) NOT NULL,
  14.     [Region] [nvarchar](15) NULL,
  15.      CONSTRAINT [PK_Employees] PRIMARY KEY CLUSTERED
  16.     (
  17.         [EmployeeID] ASC
  18.     )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
  19. )
  20.  
  21. CREATE TABLE [dbo].[Products] (
  22.     [ProductID] [int] IDENTITY(1,1) NOT NULL,
  23.     [ProductName] [nvarchar](40) NOT NULL,
  24.     [CategoryID] [int] NULL,
  25.     [UnitPrice] [money] NULL,
  26.     CONSTRAINT [PK_Products] PRIMARY KEY CLUSTERED
  27.     (
  28.         [ProductID] ASC
  29.     )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
  30. )
  31.  
  32. CREATE TABLE [dbo].[Customers] (
  33.     [CustomerID] [nchar](5) NOT NULL,
  34.     [CompanyName] [nvarchar](40) NOT NULL,
  35.      CONSTRAINT [PK_Customers] PRIMARY KEY CLUSTERED
  36.     (
  37.         [CustomerID] ASC
  38.     )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
  39. )
  40.  
  41. CREATE TABLE Times (
  42.     TimeID INT IDENTITY(1,1) PRIMARY KEY,
  43.     Year INT,
  44.     Quarter INT,
  45.     Month INT,
  46.     Day INT
  47. )
  48.  
  49. CREATE TABLE Orders_Fact (
  50.     OrdersFactID INT IDENTITY(1,1) PRIMARY KEY,
  51.     ProductID INT FOREIGN KEY REFERENCES Products(ProductID),
  52.     EmployeeID INT FOREIGN KEY REFERENCES Employees(EmployeeID),
  53.     TimeID INT FOREIGN KEY REFERENCES Times(TimeID),
  54.     CustomerID [nchar](5) FOREIGN KEY REFERENCES Customers(CustomerID),
  55.     TotalPrice MONEY,
  56.     Quantity INT
  57. )
  58.  
  59.  
  60. IF EXISTS ( SELECT * FROM sys.external_tables WHERE object_id = OBJECT_ID('dbo.ExtEmployees') )
  61.    DROP EXTERNAL TABLE [dbo].[ExtEmployees]
  62.  
  63. IF EXISTS ( SELECT * FROM sys.external_tables WHERE object_id = OBJECT_ID('dbo.ExtProducts') )
  64. DROP EXTERNAL TABLE [dbo].[ExtProducts]
  65.  
  66. IF EXISTS ( SELECT * FROM sys.external_tables WHERE object_id = OBJECT_ID('dbo.ExtCustomers') )
  67.    DROP EXTERNAL TABLE [dbo].[ExtCustomers]
  68.  
  69. IF EXISTS ( SELECT * FROM sys.external_data_sources WHERE name = 'NorthwindAccess')
  70.     DROP EXTERNAL DATA SOURCE NorthwindAccess
  71.  
  72. DROP DATABASE SCOPED CREDENTIAL northwindCredential
  73.  
  74. CREATE DATABASE SCOPED CREDENTIAL northwindCredential
  75. WITH IDENTITY = 'dpomeroy',
  76. SECRET = 'abcd123$';
  77.  
  78. CREATE EXTERNAL DATA SOURCE NorthwindAccess
  79. WITH (
  80.     TYPE=RDBMS,
  81.     LOCATION='blankey.database.windows.net',
  82.     DATABASE_NAME='northwind',
  83.     CREDENTIAL= northwindCredential
  84. );
  85.  
  86.  
  87.  
  88.  
  89. CREATE EXTERNAL TABLE [dbo].[ExtEmployees] (
  90.     [EmployeeID] [int] NOT NULL,
  91.     [LastName] [nvarchar](20) NOT NULL,
  92.     [FirstName] [nvarchar](10) NOT NULL,
  93.     [Region] [nvarchar](15) NULL,
  94. )WITH
  95. (
  96.     DATA_SOURCE = NorthwindAccess,
  97.     SCHEMA_NAME = 'dbo',
  98.     OBJECT_NAME = 'Employees'
  99. );
  100.  
  101.  
  102.  
  103. CREATE EXTERNAL TABLE [dbo].[ExtProducts] (
  104.     [ProductID] [int] NOT NULL,
  105.     [ProductName] [nvarchar](40) NOT NULL,
  106.     [CategoryID] [int] NULL,
  107.     [UnitPrice] [money] NULL,
  108. )WITH
  109. (
  110.     DATA_SOURCE = NorthwindAccess,
  111.     SCHEMA_NAME = 'dbo',
  112.     OBJECT_NAME = 'Products'
  113. );
  114.  
  115.  
  116. CREATE EXTERNAL TABLE [dbo].[ExtCustomers] (
  117.     [CustomerID] [nchar](5) NOT NULL,
  118.     [CompanyName] [nvarchar](40) NOT NULL,
  119. )WITH
  120. (
  121.     DATA_SOURCE = NorthwindAccess,
  122.     SCHEMA_NAME = 'dbo',
  123.     OBJECT_NAME = 'Customers'
  124. );
  125.  
  126.  
  127. SET IDENTITY_INSERT [dbo].[Employees] ON
  128. INSERT INTO [dbo].[Employees](EmployeeID, LastName, FirstName, Region)
  129.     SELECT EmployeeID, LastName, FirstName, Region
  130.      FROM dbo.ExtEmployees;
  131. SET IDENTITY_INSERT [dbo].[Employees] OFF
  132.  
  133. SET IDENTITY_INSERT [dbo].[Products] ON
  134. INSERT INTO [dbo].[Products](ProductID, ProductName, CategoryID, UnitPrice)
  135.     SELECT ProductID, ProductName, CategoryID, UnitPrice
  136.      FROM dbo.ExtProducts;
  137. SET IDENTITY_INSERT [dbo].[Products] OFF
  138.  
  139. INSERT INTO [dbo].[Customers](CustomerID, CompanyName)
  140.     SELECT CustomerID, CompanyName
  141.      FROM dbo.[ExtCustomers];
  142.  
  143.  
  144.  
  145. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2015,2,4,9);
  146. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2015,2,6,19);
  147. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2015,3,7,25);
  148. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2015,3,7,26);
  149. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2015,3,9,5);
  150. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2015,4,11,9);
  151. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2015,4,12,15);
  152. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2016,1,2,17);
  153. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2016,1,3,19);
  154. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2016,1,3,24);
  155. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2016,2,4,4);
  156. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2016,2,5,1);
  157. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2016,3,7,14);
  158. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2017,1,2,7);
  159. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2017,1,2,19);
  160. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2017,2,4,10);
  161. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2017,2,6,30);
  162. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2017,3,7,30);
  163. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2017,3,9,23);
  164. INSERT INTO Times (Year, Quarter, Month, Day) VALUES (2017,4,10,27);
  165.  
  166. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (5,1,1,23.93,7);
  167. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (1,7,2,97.1,10);
  168. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (2,6,3,48.76,15);
  169. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (14,1,4,40.02,5);
  170. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (4,7,5,53.97,6);
  171. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (5,2,6,100.01,3);
  172. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (12,3,7,77.95,10);
  173. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (1,3,8,44.57,8);
  174. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (5,1,9,91.99,10);
  175. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (6,9,10,40.54,1);
  176. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (8,4,11,100.21,3);
  177. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (8,6,12,38.78,8);
  178. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (3,8,13,71.46,7);
  179. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (14,3,14,60.41,15);
  180. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (7,7,15,76.16,6);
  181. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (14,8,16,11.08,14);
  182. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (13,9,17,79.86,12);
  183. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (7,4,18,56.6,10);
  184. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (3,1,19,89.78,12);
  185. INSERT INTO Orders_Fact (ProductId, EmployeeId, TimeId, TotalPrice, Quantity) VALUES (4,9,20,43.03,10);
  186.  
  187. UPDATE
  188.   Orders_Fact
  189. SET
  190.   TotalPrice = Quantity * UnitPrice
  191. FROM
  192.   Orders_Fact
  193. INNER JOIN
  194.   Products
  195.     ON Orders_Fact.ProductId = Products.ProductId
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement