Open Heinzad opened 1 year ago
feat #13 script: meta.column_schemata.Type.sql
Column Schemata -- Enables quick creation of table variables -- Holds the definitions for a set of columns -- Reflects the structure of information schema columns
/* Column Schemata -- Enables quick creation of table variables -- Holds the definitions for a set of columns -- Reflects the structure of information schema columns
-- script_name: meta.column_schemata.Type.sql -- script_author: Adam Heinz -- script_date: 6 Feb 2023 -- script_license: MIT
-- example_usage:
--DECLARE @cols [meta].[column_schemata] ;
--INSERT INTO @cols (
-- [table_catalog]
--,[table_schema]
--,[table_name]
--,[column_name]
--,[ordinal_position]
--,[data_type]
--,[character_maximum_length]
--,[numeric_precision]
--,[numeric_scale]
--,[datetime_precision]
--)
--SELECT
--[table_catalog]
--,[table_schema]
--,[table_name]
--,[column_name]
--,[ordinal_position]
--,[data_type]
--,[character_maximum_length]
--,[numeric_precision]
--,[numeric_scale]
--,[datetime_precision]
--FROM (
--VALUES
-- (
-- 'testdb'
-- ,'testy'
-- ,'testable'
-- ,'CHARACTER_DEMO'
-- ,1
-- ,'varchar'
-- ,50
-- ,NULL
-- ,NULL
-- ,NULL
-- )
-- ,(
-- 'testdb'
-- ,'testy'
-- ,'testable'
-- ,'NUMERIC_DEMO'
-- ,2
-- ,'decimal'
-- ,NULL
-- ,8
-- ,0
-- ,NULL
-- )
-- ,(
-- 'testdb'
-- ,'testy'
-- ,'testable'
-- ,'DATE_DEMO'
-- ,3
-- ,'datetime2'
-- ,NULL
-- ,NULL
-- ,NULL
-- ,7
-- )
--) as v (
--[table_catalog]
--,[table_schema]
--,[table_name]
--,[column_name]
--,[ordinal_position]
--,[data_type]
--,[character_maximum_length]
--,[numeric_precision]
--,[numeric_scale]
--,[datetime_precision]
--) ;
--SELECT * FROM @cols as cc ;
*/
As a developer, I want to standardise the scripting of table columns, so that I have generic method I can use and reuse.
Given a table name, when I create a table variable, then I should be able to use a pre-defined table type that reflects the information schema columns.