sql >> Databáze >  >> RDS >> Sqlserver

Jak vygenerovat příkaz Přidat sloupec pro všechny tabulky v databázi na serveru SQL - SQL Server / Výukový program T-SQL, část 49

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


  1. Způsobeno:android.database.sqlite.SQLiteException:žádná taková tabulka:BOOK (kód 1 SQLITE_ERROR)

  2. Funkce NLS_COLLATION_NAME() v Oracle

  3. Jak zjistit, zda hodnota obsahuje alespoň jednu číselnou číslici v MariaDB

  4. Použijte PARSENAME() k vrácení části názvu objektu v SQL Server