actionbrowser.com
12. 11. 2004, 15:53 # 1 MOF User Registrierung: 17. 08. 2002 Karma: SQL-Syntax - Mehrere Tabellen löschen Hallo Forum, gibts eigentlich eine Möglichkeit, per einfachem Script alle Tabellen einer Datenbank zu löschen, deren bestimmten Kriterien entsprechen? Also in meinem Fall lösche alle Tabellen deren Name "T" + ### (also 3 Zahlen) ist? Ich hab mal ein bischen gegoogelt und bin auf die "sp_msforeachtable"-proc gestossen. Kann die dabei vielleicht helfen? Grüße Maik (SQL server 2000 SP3 /MSDE Sp3) __________________ WXP Pro SP3, Office 2k7, SQL Server 2005 17. 2004, 15:48 # 2 spinneken hi maik, am einfachsten ist, du schreibst dir ein simples sql-skript, das erst alle tabellen-namen mit den genannten kriterien zurückgibt (tabelle: sysobjects, xtype: 'u' für user-tabelle, usw. ). dann durchlaufen einer schleife, in der du dein t-sql zum tabellen-löschen bastelst (willst du nur die inhalte - also alle datensätze in den tabellen - löschen oder die komplette tabelle? ) z. Sql server tabelle löschen 2. b. Code: create procedure spDeleteFromTTables as declare @sql varchar(500) declare @tblName varchar(200) declare cur cursor for select [name] from sysobjects where xtype = 'u' and [name] like 't%' open cur fetch next from cur into @tblName while @@fetch_status = 0 begin -- erzeugen des t-sql: datensätze löschen set @sql = 'delete from ' + @tblName -- erzeugen des t-sql: tabelle löschen (hier auskommentiert) -- set @sql = 'drop table ' + @tblName exec(@sql) end close cur deallocate cur lg spinneken 18.
Mehr Infos hier. Zusammenfassen Oracle: ALTER TABLE table_name DROP ( column_name1, column_name2); MS SQL Server: ALTER TABLE table_name DROP COLUMN column_name1, column_name2 MySQL: ALTER TABLE table_name DROP column_name1, DROP column_name2; PostgreSQL ALTER TABLE table_name DROP COLUMN column_name1, DROP COLUMN column_name2; Sei vorsichtig DROP COLUMN entfernt die Daten für einige DBMS nicht physisch. ZB für MS SQL. Bei Typen mit fester Länge ( int, numerisch, float, datetime, uniqueidentifier usw. ) wird der Speicherplatz auch für Datensätze belegt, die nach dem Löschen der Spalten hinzugefügt wurden. Um den verschwendeten Platz loszuwerden, tun Sie ALTER TABLE... Temporäre-Tabelle löschen - Knowledge Base - Asgard Solutions. REBUILD. create table test ( a int, b int, c int, d int); alter table test drop column b, d; Beachten Sie, dass DROP COLUMN die Daten nicht physisch entfernt und bei Typen mit fester Länge (int, numerisch, float, datetime, uniqueidentifier usw. ) der Speicherplatz auch für Datensätze belegt wird, die nach dem Löschen der Spalten hinzugefügt wurden.
000', 120)) DELETE TOP ( 500000) dbo. << table_name >> WHERE timestamp_column < convert ( datetime, @ FlagDate, 102) WAITFOR DELAY '00:00:01' select @ msg = 'ROWCOUNT' + convert ( varchar, @ Deleted_Rows); set @ loopnum = @ loopnum + 1 if @ loopnum > 1000 begin begin try DBCC SHRINKFILE ( N '<>_log', 0, TRUNCATEONLY) RAISERROR ( @ msg, 0, 1) WITH NOWAIT end try begin catch RAISERROR ( 'DBCC SHRINK', 0, 1) WITH NOWAIT end catch set @ loopnum = 1 end select getdate () Wenn ich ohne Schleife sage, kann ich GOTO Anweisung verwenden, um eine große Anzahl von Datensätzen mit SQL Server zu löschen. Sql server tabelle löschen 2014. exa. IsRepeat: DELETE TOP ( 10000) FROM < TableName > IF @@ ROWCOUNT > 0 GOTO IsRepeat Auf diese Weise können Sie große Datenmengen mit kleinerer Löschgröße löschen. Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.
Thema durch. Gruß aus Hannover 18. 2004, 09:09 # 4 bitte gerne pass bloss auf, dass du net im endeffekt mehr kommentar als auszuführenden sql-code hast lg aus graz, spinneken
64 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql >
Übrigens, drop
UPDATE Meisten der Optionen, die ich habe versucht, laufen in Probleme mit Beziehungen und geben mir eine Fehlermeldung. Ja, Sie können dies tun, mit dynamischem SQL. Ich werde es schreiben, aber jemand anderes wird wahrscheinlich, mich zu schlagen. 🙂 erzwingen cascade löschen? Können wir das nicht, auf unseren Tischen und kann nicht fügen Sie es an dieser Stelle. Thx aber. Erstellen, Ändern und Löschen von Tabellen - SQL Server | Microsoft Docs. Sich zu Fragen, was ist das prob eine dumme Frage, aber jede dieser Optionen berücksichtigen Beziehungen? Wenn eine Tabelle über eine Beziehung auf es, und löschen es versucht, wird es nicht zu einem problem führen? Informationsquelle Autor ErocM | 2013-02-05