SQLMDX - MS SQL Migrate - Sample Schema

This schema comes from a migration of the AdventureWorks 2019 Sample database provided by Microsoft.

This specific schema was chosen becauase it showcases the tables, columns, primary keys, unique indexes, foreign key relationship, views in that database.

It also shows a few views that could not be converted. Some functions are not available in Snowflake.

 


create or replace schema HUMANRESOURCES COMMENT='MS SCHEMA ID = 5 scripted 2025-02-04T02:12:59Z BY MIGRATESQL.COM';

create or replace TABLE DEPARTMENT (
	DEPARTMENTID NUMBER(38,0) NOT NULL autoincrement start 1 increment 1 noorder,
	NAME VARCHAR(100) NOT NULL,
	GROUPNAME VARCHAR(100) NOT NULL,
	MODIFIEDDATE TIMESTAMP_NTZ(9) NOT NULL,
	unique (NAME),
	primary key (DEPARTMENTID)
)COMMENT='MS OBJECT ID = 1381579960 scripted 2025-02-04T02:13:13Z BY MIGRATESQL.COM';

create or replace TABLE EMPLOYEE (
	BUSINESSENTITYID NUMBER(38,0) NOT NULL,
	NATIONALIDNUMBER VARCHAR(30) NOT NULL,
	LOGINID VARCHAR(512) NOT NULL,
	ORGANIZATIONNODE VARCHAR(892),
	ORGANIZATIONLEVEL NUMBER(38,0),
	JOBTITLE VARCHAR(100) NOT NULL,
	BIRTHDATE DATE NOT NULL,
	MARITALSTATUS VARCHAR(2) NOT NULL,
	GENDER VARCHAR(2) NOT NULL,
	HIREDATE DATE NOT NULL,
	SALARIEDFLAG BOOLEAN NOT NULL,
	VACATIONHOURS NUMBER(38,0) NOT NULL,
	SICKLEAVEHOURS NUMBER(38,0) NOT NULL,
	CURRENTFLAG BOOLEAN NOT NULL,
	ROWGUID VARCHAR(36) NOT NULL,
	MODIFIEDDATE TIMESTAMP_NTZ(9) NOT NULL,
	unique (LOGINID),
	unique (NATIONALIDNUMBER),
	unique (ROWGUID),
	primary key (BUSINESSENTITYID)
)COMMENT='MS OBJECT ID = 1573580644 scripted 2025-02-04T02:13:14Z BY MIGRATESQL.COM';

create or replace TABLE EMPLOYEEDEPARTMENTHISTORY (
	BUSINESSENTITYID NUMBER(38,0) NOT NULL,
	DEPARTMENTID NUMBER(38,0) NOT NULL,
	SHIFTID NUMBER(38,0) NOT NULL,
	STARTDATE DATE NOT NULL,
	ENDDATE DATE,
	MODIFIEDDATE TIMESTAMP_NTZ(9) NOT NULL,
	primary key (BUSINESSENTITYID, DEPARTMENTID, SHIFTID, STARTDATE)
)COMMENT='MS OBJECT ID = 1781581385 scripted 2025-02-04T02:13:16Z BY MIGRATESQL.COM';

create or replace TABLE EMPLOYEEPAYHISTORY (
	BUSINESSENTITYID NUMBER(38,0) NOT NULL,
	RATECHANGEDATE TIMESTAMP_NTZ(9) NOT NULL,
	RATE NUMBER(38,0) NOT NULL,
	PAYFREQUENCY NUMBER(38,0) NOT NULL,
	MODIFIEDDATE TIMESTAMP_NTZ(9) NOT NULL,
	primary key (BUSINESSENTITYID, RATECHANGEDATE)
)COMMENT='MS OBJECT ID = 1829581556 scripted 2025-02-04T02:13:17Z BY MIGRATESQL.COM';

create or replace TABLE JOBCANDIDATE (
	JOBCANDIDATEID NUMBER(38,0) NOT NULL autoincrement start 1 increment 1 noorder,
	BUSINESSENTITYID NUMBER(38,0),
	RESUME VARCHAR(16777216),
	MODIFIEDDATE TIMESTAMP_NTZ(9) NOT NULL,
	primary key (JOBCANDIDATEID)
)COMMENT='MS OBJECT ID = 1925581898 scripted 2025-02-04T02:13:20Z BY MIGRATESQL.COM';

create or replace TABLE SHIFT (
	SHIFTID NUMBER(38,0) NOT NULL autoincrement start 1 increment 1 noorder,
	NAME VARCHAR(100) NOT NULL,
	STARTTIME TIME(9) NOT NULL,
	ENDTIME TIME(9) NOT NULL,
	MODIFIEDDATE TIMESTAMP_NTZ(9) NOT NULL,
	unique (NAME),
	unique (STARTTIME, ENDTIME),
	primary key (SHIFTID)
)COMMENT='MS OBJECT ID = 382624406 scripted 2025-02-04T02:13:11Z BY MIGRATESQL.COM';

create or replace view VEMPLOYEE(
	BUSINESSENTITYID,
	TITLE,
	FIRSTNAME,
	MIDDLENAME,
	LASTNAME,
	SUFFIX,
	JOBTITLE,
	PHONENUMBER,
	PHONENUMBERTYPE,
	EMAILADDRESS,
	EMAILPROMOTION,
	ADDRESSLINE1,
	ADDRESSLINE2,
	CITY,
	STATEPROVINCENAME,
	POSTALCODE,
	COUNTRYREGIONNAME,
	ADDITIONALCONTACTINFO
) as 
SELECT 
	e.BUSINESSENTITYID
	,p.TITLE
	,p.FIRSTNAME
	,p.MIDDLENAME
	,p.LASTNAME
	,p.SUFFIX
	,e.JOBTITLE  
	,pp.PHONENUMBER
	,pnt.NAME AS PHONENUMBERTYPE
	,ea.EMAILADDRESS
	,p.EMAILPROMOTION
	,a.ADDRESSLINE1
	,a.ADDRESSLINE2
	,a.CITY
	,sp.NAME AS STATEPROVINCENAME 
	,a.POSTALCODE
	,cr.NAME AS COUNTRYREGIONNAME 
	,p.ADDITIONALCONTACTINFO
FROM HUMANRESOURCES.EMPLOYEE e
	INNER JOIN PERSON.PERSON p
	ON p.BUSINESSENTITYID = e.BUSINESSENTITYID
	INNER JOIN PERSON.BUSINESSENTITYADDRESS bea 
	ON bea.BUSINESSENTITYID = e.BUSINESSENTITYID 
	INNER JOIN PERSON.ADDRESS a 
	ON a.ADDRESSID = bea.ADDRESSID
	INNER JOIN PERSON.STATEPROVINCE sp 
	ON sp.STATEPROVINCEID = a.STATEPROVINCEID
	INNER JOIN PERSON.COUNTRYREGION cr 
	ON cr.COUNTRYREGIONCODE = sp.COUNTRYREGIONCODE
	LEFT OUTER JOIN PERSON.PERSONPHONE pp
	ON pp.BUSINESSENTITYID = p.BUSINESSENTITYID
	LEFT OUTER JOIN PERSON.PHONENUMBERTYPE pnt
	ON pp.PHONENUMBERTYPEID = pnt.PHONENUMBERTYPEID
	LEFT OUTER JOIN PERSON.EMAILADDRESS ea
	ON p.BUSINESSENTITYID = ea.BUSINESSENTITYID;
create or replace view VEMPLOYEEDEPARTMENT(
	BUSINESSENTITYID,
	TITLE,
	FIRSTNAME,
	MIDDLENAME,
	LASTNAME,
	SUFFIX,
	JOBTITLE,
	DEPARTMENT,
	GROUPNAME,
	STARTDATE
) as 
SELECT 
	e.BUSINESSENTITYID 
	,p.TITLE 
	,p.FIRSTNAME 
	,p.MIDDLENAME 
	,p.LASTNAME 
	,p.SUFFIX 
	,e.JOBTITLE
	,d.NAME AS DEPARTMENT 
	,d.GROUPNAME 
	,edh.STARTDATE 
FROM HUMANRESOURCES.EMPLOYEE e
	INNER JOIN PERSON.PERSON p
	ON p.BUSINESSENTITYID = e.BUSINESSENTITYID
	INNER JOIN HUMANRESOURCES.EMPLOYEEDEPARTMENTHISTORY edh 
	ON e.BUSINESSENTITYID = edh.BUSINESSENTITYID 
	INNER JOIN HUMANRESOURCES.DEPARTMENT d 
	ON edh.DEPARTMENTID = d.DEPARTMENTID 
WHERE edh.ENDDATE IS NULL;
create or replace view VEMPLOYEEDEPARTMENTHISTORY(
	BUSINESSENTITYID,
	TITLE,
	FIRSTNAME,
	MIDDLENAME,
	LASTNAME,
	SUFFIX,
	SHIFT,
	DEPARTMENT,
	GROUPNAME,
	STARTDATE,
	ENDDATE
) as 
SELECT 
	e.BUSINESSENTITYID 
	,p.TITLE 
	,p.FIRSTNAME 
	,p.MIDDLENAME 
	,p.LASTNAME 
	,p.SUFFIX 
	,s.NAME AS SHIFT
	,d.NAME AS DEPARTMENT 
	,d.GROUPNAME 
	,edh.STARTDATE 
	,edh.ENDDATE
FROM HUMANRESOURCES.EMPLOYEE e
	INNER JOIN PERSON.PERSON p
	ON p.BUSINESSENTITYID = e.BUSINESSENTITYID
	INNER JOIN HUMANRESOURCES.EMPLOYEEDEPARTMENTHISTORY edh 
	ON e.BUSINESSENTITYID = edh.BUSINESSENTITYID 
	INNER JOIN HUMANRESOURCES.DEPARTMENT d 
	ON edh.DEPARTMENTID = d.DEPARTMENTID 
	INNER JOIN HUMANRESOURCES.SHIFT s
	ON s.SHIFTID = edh.SHIFTID;

create or replace view VJOBCANDIDATE(
	DESCRIPTION
) as 

SELECT 'UNABLE TO MIGRATE VIEW FROM MSSQL';
create or replace view VJOBCANDIDATEEDUCATION(
	DESCRIPTION
) as 

SELECT 'UNABLE TO MIGRATE VIEW FROM MSSQL';
create or replace view VJOBCANDIDATEEMPLOYMENT(
	DESCRIPTION
) as 
SELECT 'UNABLE TO MIGRATE VIEW FROM MSSQL';

        
 
Copyright © 2024, SQL Metadata Exchange
An unhandled error has occurred. Reload 🗙