SELECT
'[' || TABLE_NAME || ']' COLLATE NOCASE [Id]
, TABLE_CATALOG [CatalogName]
, TABLE_SCHEMA [SchemaName]
, TABLE_NAME [Name]
FROM
TEMP.SCHEMATABLES
WHERE
TABLE_TYPE LIKE 'table'
SELECT
'[' || c.TABLE_NAME || ']' || '[' || c.COLUMN_NAME || ']' COLLATE NOCASE [Id]
, '[' || c.TABLE_NAME || ']' COLLATE NOCASE [ParentId]
, c.COLUMN_NAME [Name]
, c.ORDINAL_POSITION [Ordinal]
, c.IS_NULLABLE [IsNullable]
, c.EDM_TYPE [TypeName]
, c.CHARACTER_MAXIMUM_LENGTH [MaxLength]
, c.NUMERIC_PRECISION [Precision]
, c.DATETIME_PRECISION [DateTimePrecision]
, c.NUMERIC_SCALE [Scale]
, c.COLLATION_CATALOG [CollationCatalog]
, c.COLLATION_SCHEMA [CollationSchema]
, c.COLLATION_NAME [CollationName]
, c.CHARACTER_SET_CATALOG [CharacterSetCatalog]
, c.CHARACTER_SET_SCHEMA [CharacterSetSchema]
, c.CHARACTER_SET_NAME [CharacterSetName]
, 0 as [IsMultiSet]
, c.[AUTOINCREMENT] as [IsIdentity]
, 0 as [IsStoreGenerated]
, c.COLUMN_DEFAULT as [Default]
FROM
TEMP.SCHEMACOLUMNS c
SELECT
'[' || TABLE_NAME || ']' COLLATE NOCASE [Id]
, TABLE_CATALOG [CatalogName]
, TABLE_SCHEMA [SchemaName]
, TABLE_NAME [Name]
, VIEW_DEFINITION [ViewDefinition]
, IS_UPDATABLE [IsUpdatable]
FROM
TEMP.SCHEMAVIEWS
SELECT
'[' || c.VIEW_NAME || ']' || '[' || c.VIEW_COLUMN_NAME || ']' COLLATE NOCASE [Id]
, '[' || c.VIEW_NAME || ']' COLLATE NOCASE [ParentId]
, c.VIEW_COLUMN_NAME [Name]
, c.ORDINAL_POSITION [Ordinal]
, c.IS_NULLABLE [IsNullable]
, c.EDM_TYPE [TypeName]
, c.CHARACTER_MAXIMUM_LENGTH [MaxLength]
, c.NUMERIC_PRECISION [Precision]
, c.DATETIME_PRECISION as [DateTimePrecision]
, c.NUMERIC_SCALE [Scale]
, c.COLLATION_CATALOG [CollationCatalog]
, c.COLLATION_SCHEMA [CollationSchema]
, c.COLLATION_NAME [CollationName]
, c.CHARACTER_SET_CATALOG [CharacterSetCatalog]
, c.CHARACTER_SET_SCHEMA [CharacterSetSchema]
, c.CHARACTER_SET_NAME [CharacterSetName]
, 0 as [IsMultiSet]
, c.[AUTOINCREMENT] as [IsIdentity]
, 0 as [IsStoreGenerated]
, c.COLUMN_DEFAULT [Default]
FROM
TEMP.SCHEMAVIEWCOLUMNS c
SELECT
NULL [Id]
, NULL [CatalogName]
, NULL [SchemaName]
, NULL [Name]
, NULL [ReturnTypeName]
, NULL [ReturnMaxLength]
, NULL [ReturnPrecision]
, NULL [ReturnDateTimePrecision]
, NULL [ReturnScale]
, NULL [ReturnCollationCatalog]
, NULL [ReturnCollationSchema]
, NULL [ReturnCollationName]
, NULL [ReturnCharacterSetCatalog]
, NULL [ReturnCharacterSetSchema]
, NULL [ReturnCharacterSetName]
, NULL as [ReturnIsMultiSet]
, NULL as [IsAggregate]
, NULL as [IsBuiltIn]
, NULL as [IsNiladic]
WHERE 1=2
SELECT
NULL [Id]
, NULL [ParentId]
, NULL [Name]
, NULL [Ordinal]
, NULL [TypeName]
, NULL [MaxLength]
, NULL [Precision]
, NULL [DateTimePrecision]
, NULL [Scale]
, NULL [CollationCatalog]
, NULL [CollationSchema]
, NULL [CollationName]
, NULL [CharacterSetCatalog]
, NULL [CharacterSetSchema]
, NULL [CharacterSetName]
, NULL [IsMultiSet]
, NULL [Mode]
, NULL [Default]
WHERE 1=2
SELECT
NULL [Id]
, NULL [CatalogName]
, NULL [SchemaName]
, NULL [Name]
WHERE 1=2
SELECT
NULL [Id]
, NULL [ParentId]
, NULL [Name]
, NULL [Ordinal]
, NULL [TypeName]
, NULL [MaxLength]
, NULL [Precision]
, NULL [DateTimePrecision]
, NULL [Scale]
, NULL [CollationCatalog]
, NULL [CollationSchema]
, NULL [CollationName]
, NULL [CharacterSetCatalog]
, NULL [CharacterSetSchema]
, NULL [CharacterSetName]
, NULL as [IsMultiSet]
, NULL [Mode]
, NULL [Default]
WHERE 1=2
SELECT
'[' || tc.CONSTRAINT_NAME || ']' COLLATE NOCASE [Id]
, '[' || tc.TABLE_NAME || ']' COLLATE NOCASE [ParentId]
, tc.CONSTRAINT_NAME [Name]
, tc.CONSTRAINT_TYPE [ConstraintType]
, tc.IS_DEFERRABLE [IsDeferrable]
, tc.INITIALLY_DEFERRED [IsInitiallyDeferred]
FROM
TEMP.SCHEMACONSTRAINTS tc
SELECT
NULL [Id]
, NULL [Expression]
WHERE 1 = 2
SELECT
'[' || CONSTRAINT_NAME || ']' COLLATE NOCASE [ConstraintId]
, '[' || TABLE_NAME || ']' || '[' || COLUMN_NAME || ']' COLLATE NOCASE [ColumnId]
FROM
TEMP.SCHEMACONSTRAINTCOLUMNS
SELECT DISTINCT
'[' || rc.CONSTRAINT_NAME || ']' COLLATE NOCASE [Id]
, 'NO ACTION' COLLATE NOCASE [UpdateRule]
, 'NO ACTION' COLLATE NOCASE [DeleteRule]
FROM
TEMP.SCHEMAFOREIGNKEYS rc
SELECT
'[' || FC.CONSTRAINT_NAME || ']' || '[' || FC.FKEY_FROM_ORDINAL_POSITION || ']' COLLATE NOCASE [Id]
, '[' || FC.FKEY_TO_TABLE || ']' || '[' || FC.FKEY_TO_COLUMN || ']' COLLATE NOCASE [ToColumnId]
, '[' || FC.TABLE_NAME || ']' || '[' || FC.FKEY_FROM_COLUMN || ']' COLLATE NOCASE [FromColumnId]
, '[' || FC.CONSTRAINT_NAME || ']' COLLATE NOCASE [ConstraintId]
, FC.FKEY_FROM_ORDINAL_POSITION [Ordinal]
FROM
TEMP.SCHEMAFOREIGNKEYS FC
SELECT
NULL [Id]
, NULL [ParentId]
, NULL [Name]
, NULL [ConstraintType]
, NULL [IsDeferrable]
, NULL [IsInitiallyDeferred]
, NULL [Expression]
, NULL [UpdateRule]
, NULL [DeleteRule]
WHERE 1=2
SELECT
NULL [ConstraintId]
, NULL [ColumnId]
WHERE 1=2
SELECT
NULL [Id]
, NULL [ToColumnId]
, NULL [FromColumnId]
, NULL [ConstraintId]
, 0 [Ordinal]
WHERE 1=2