Scénář:
Pracujete v Auto Insurance Company jako SQL Server Developer. Vaše společnost má databázi, ve které má více než 300 tabulek. V počátečním návrhu zapomněli přidat sloupce auditu, jako je CreatedBy a CreatedOn. Chtějí, abyste vygenerovali Add Column CreatedBy a CreatedOn pro všechny tabulky v databázi. Jak byste to udělali?Řešení:
Existuje mnoho způsobů, jak generovat příkazy SQL pro výše uvedený požadavek, budeme to dělat jednoduše a rychle. Použijeme Select Query ke generování příkazů Add Column pro všechny tabulky.Pojďme generovat skripty tak, abychom pokaždé museli provádět velmi malé změny a mohli je kdykoli použít k přidání nového sloupce. Deklaroval jsem dvě proměnné, @ColumnName a @ColumnDataType. Jakmile poskytneme hodnoty proměnných. Výběrový dotaz zkontroluje všechny tabulky a pokud sloupec pro tabulku neexistuje, vygeneruje příkaz Přidat sloupec.
--Declare Variables for Column Name and Data Type Declare @ColumnName VARCHAR(100) Declare @ColumnDataType VARCHAR(50) --Set the Values for Variables SET @ColumnName='CreatedBy' SET @ColumnDataType='VARCHAR(50)' --Run the Query and copy results and paste in new window to run. Select 'ALTER Table ['+Table_Schema+'].['+Table_Name+'] ' +'Add '+@ColumnName+' '+@ColumnDataType AS AddColumnQuery from Information_Schema.Tables T where T.Table_Type='BASE TABLE' And Not exists ( Select 1 from INFORMATION_SCHEMA.COLUMNS C WHERE C.TABLE_Name=T.Table_Name and Column_Name=@ColumnName)
Spusťte výše uvedený dotaz a zkopírujte výsledky do nového Query Windows, vyberte databázi, na které chcete spustit a spustit.
Jak vygenerovat SQL příkaz pro přidání sloupce pro všechny tabulky v databázi – výukový program T-SQL
Video ukázka:Generování příkazu Add/Drop Column pro všechny tabulky v databázi na SQL Server