Ich muss eine Lösch-Flag-Spalte zu allen 40 Benutzertabellen in einer Datenbank hinzufügen. Ich könnte ein Skript schreiben, um sys.tables zu durchlaufen, aber ich dachte, ich würde prüfen, ob jemand eine bessere Lösung oder vordefinierte SQL für dieses Szenario hat.Hinzufügen einer Spalte zu allen Benutzertabellen in t-sql
13
A
Antwort
31
Es ist ein nicht dokumentiert, aber gut bekannten Verfahren sp_msforeachtable gespeichert:
exec sp_msforeachtable 'alter table ? add flag bit not null default 0';
11
Nein, es ist eine manuelle Schleife.
Sie können auch eine einzelne SQL-Anweisung natürlich aufbauen ...
SELECT
'ALTER TABLE ' + T.name + ' ADD foo int NULL'
FROM
sys.tables AS T
WHERE
T.is_ms_shipped = 0
Oder die undokumentierte
EXEC sys.sp_MSforeachtable 'ALTER TABLE ? ADD foo int NULL'
Verwandte Themen
- 1. Hinzufügen einer Navigationsleiste zu allen Vorlagen
- 2. Hinzufügen einer Klasse zu allen Tabellenköpfen
- 3. Hinzufügen einer onBlur zu allen Formularelementen
- 4. Hinzufügen von Milisekunden zu einer Datetime in Tsql INSERT INTO
- 5. Hinzufügen einer Spalte zu DataFrame in sparkR
- 6. Parameterwert zu allen Objekt hinzufügen
- 7. Hinzufügen einer CSS-Klasse zu einer Spalte
- 8. tsql-Skript zum Hinzufügen einer Löschkaskade zu vorhandenen Tabellen
- 9. SSRS: Hinzufügen von Kalenderdaten in Spalten (tsql)
- 10. Rahmen zu allen Etiketten in einer Ansicht hinzufügen
- 11. Hinzufügen einer ganzen Zahl zu allen Werten in einem Tupel
- 12. Wie XML-Spalte in TSQL abfragen
- 13. Xml zu Tabelle in Tsql
- 14. Eigenschaft hinzufügen zu allen Objekten in Array
- 15. DataTables - Hinzufügen von Filterfunktion zu einer Spalte
- 16. Hinzufügen einer Spalte zu DataBound DevExpress ASPxTreeList
- 17. Hinzufügen einer neuen Spalte zu Matrixfehler
- 18. data.table - Gruppe nach allen außer einer Spalte
- 19. TSQL Return Guid, die in einer Spalte am häufigsten auftritt
- 20. Hinzufügen einer Spalte einer Datentabelle zu einer anderen
- 21. TraceListener zu allen TraceSources hinzufügen/entfernen
- 22. Wie richtig SUMIFS Formel in allen Zellen in einer Spalte
- 23. Ist das Hinzufügen einer Bitmaske zu allen Tabellen in einer Datenbank sinnvoll?
- 24. Spalte nach einer anderen Spalte hinzufügen
- 25. tsql Identität einfügen ohne Spalte Namensliste
- 26. TSQL - Summe einer Union Abfrage
- 27. Makro zum Hinzufügen einer Spalte mit einem bestimmten Header und Auffüllen eines Vorschlagswerts in allen Zeilen
- 28. Flexigrid - Hinzufügen einer Spalte mit Links
- 29. Wordpress: Hinzufügen Konfigurationsoption zu allen Widget-Einstellungen
- 30. Subtrahieren Mindestwert von allen Werten in einer Spalte
+1 aber ... seraphym für eine Art und Weise zu fragen, eine Spalte zu entfernen . Obwohl Ihre Anweisung leicht überschrieben werden könnte, um sie fallen zu lassen, müsste der Name der Zielspalte für alle Tabellen einheitlich sein. –
psasik, seraphym möchte jeder Tabelle eine Spalte mit dem Namen 'löschen' hinzufügen und keine Spalte aus jeder Tabelle löschen. –
sehr cool, danke für Ihre Hilfe! – seraphym