sql serverda tum tabloları silmek,drop all table

Aymira Yazılım Bilişim Aymira Yazılım Bilişim

03 Ağustos 2018 Veri Tabanı Y.Sis. (18) /SQL Server (11) (57)

Paylaşmak güzeldir. Lütfen sizde paylaşın...


  1. Yöntem veri tabanı üzerinde F7 tuşuna basarak tablo view ve procedureleri seçerek silebilirsiniz.
  2. Yöntem:
    1. İlişkileri Silmek  için aşağıdaki sorguyu çalıştırın;
      DECLARE @Sql NVARCHAR(500)
      DECLARE @Cursor CURSOR
      SET @Cursor = CURSOR FAST_FORWARD FOR
       
      SELECT DISTINCT sql = 'ALTER TABLE [' + TableCons.TABLE_NAME +
          '] DROP [' + ReferentialCons.CONSTRAINT_NAME + ']'
      FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS ReferentialCons
      LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS TableCons
      ON TableCons.CONSTRAINT_NAME = ReferentialCons.CONSTRAINT_NAME
       
      OPEN @Cursor FETCH NEXT FROM @Cursor INTO @Sql
      WHILE (@@FETCH_STATUS = 0)
      BEGIN
          Exec SP_EXECUTESQL @Sql
          FETCH NEXT FROM @Cursor INTO @Sql
      END
      CLOSE @Cursor DEALLOCATE @Cursor
      GO​
      2-Tabloları Viewleri Procedureleri ve Functionları silmek için sırasıyla aşağıdaki sorguları çalıştırmanız yeterli;
      EXEC sp_MSForEachTable 'DROP TABLE ?'
      GO​
      DECLARE @query VARCHAR(MAX) = '';
      SELECT @query = @query + 'DROP VIEW [' + name + '];' FROM sys.views;
      EXEC(@query);​

      DECLARE @procedureName VARCHAR(500)
      DECLARE cur CURSOR
       
      FOR SELECT [name] FROM sys.objects WHERE TYPE = 'p'
      OPEN cur
      FETCH NEXT FROM cur INTO @procedureName
       
      WHILE @@fetch_status = 0
      BEGIN
          EXEC('DROP PROCEDURE ' + @procedureName)
          FETCH NEXT FROM cur INTO @procedureName
      END
       
      CLOSE cur
      DEALLOCATE cur​

       

      DECLARE @functionName VARCHAR(500)
      DECLARE cur CURSOR
       
      FOR SELECT [name] FROM sys.objects WHERE TYPE = 'fn'
      OPEN cur
      FETCH NEXT FROM cur INTO @functionName
       
      WHILE @@fetch_status = 0
      BEGIN
          EXEC('DROP FUNCTION ' + @functionName)
          FETCH NEXT FROM cur INTO @functionName
      END
       
      CLOSE cur
      DEALLOCATE cur


Paylaşmak güzeldir. Lütfen sizde paylaşın...



Herkesyazar Ara