একটি এসকিউএল কোয়েরি সহ একটি ডাটাবেস থেকে সমস্ত টেবিল কীভাবে বাদ দেবেন?


176

আমি সমস্ত টেবিলের নাম লিখতে চাই না সেগুলি সব ফেলে দিতে। একটি প্রশ্নের সাথে এটি কি সম্ভব?


3
কিছু দ্রুত গুগল এটি প্রকাশ করেছে: stackoverflow.com/questions/11053116/…
জেএসকে এনএস

: -although (SQLServer জন্য) এই আরো উপযোগী হতে পারে stackoverflow.com/questions/536350/...

সঠিক ব্যবহারকারীর নাম সহ, এটি স্বয়ংক্রিয়ভাবে ঘটতে পারে ( বাধ্যতামূলক xkcd লিঙ্ক )।
মিনু

11
আপনার কি ডাটাবেসে টেবিলগুলিতে কোনও বিদেশী কী রয়েছে? যদি তা হয় তবে আপনার এটি বিবেচনায় নেওয়া উচিত এবং টেবিলগুলি ফেলে দেওয়ার চেষ্টা করার আগে সেগুলি ফেলে দিন।
অ্যান্টনি গ্রিস্ট

মনে রাখবেন যে আপনার যদি স্কিমাবাউন্ড অবজেক্ট থাকে তবে আপনি টেবিলটি ফেলে দিতে পারবেন না।
শান ল্যাঞ্জ

উত্তর:


176

টেবিলগুলির তালিকা পেতে INFORMATION_SCHEMA.TABLES ভিউ ব্যবহার করুন । সিলেক্ট স্টেটমেন্টে ড্রপ স্ক্রিপ্ট তৈরি করুন এবং ডায়নামিক এসকিউএল ব্যবহার করে ফেলে দিন:

DECLARE @sql NVARCHAR(max)=''

SELECT @sql += ' Drop table ' + QUOTENAME(TABLE_SCHEMA) + '.'+ QUOTENAME(TABLE_NAME) + '; '
FROM   INFORMATION_SCHEMA.TABLES
WHERE  TABLE_TYPE = 'BASE TABLE'

Exec Sp_executesql @sql

Sys.Tables সংস্করণ

DECLARE @sql NVARCHAR(max)=''

SELECT @sql += ' Drop table ' + QUOTENAME(s.NAME) + '.' + QUOTENAME(t.NAME) + '; '
FROM   sys.tables t
       JOIN sys.schemas s
         ON t.[schema_id] = s.[schema_id]
WHERE  t.type = 'U'

Exec sp_executesql @sql

দ্রষ্টব্য: যদি আপনার foreign Keysটেবিলগুলির মধ্যে কোনও সংজ্ঞা থাকে তবে আপনার ডেটাবেজে উপস্থিত সমস্ত অক্ষম করতে প্রথমে নীচের কোয়েরিটি চালান foreign keys

EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"

আরও তথ্যের জন্য, এখানে চেক করুন


3
(আমার ডাউনভোট নয়) ... [sys]যদি rdbms জুড়ে বহনযোগ্যতা প্রয়োজন না হয় তবে আমি সাধারণত স্কিমা দৃশ্যের সাথে থাকি । stackoverflow.com/a/3654313/251174
swasheck


1
@ ডুবাএ - এটি খুব সহজ। প্রথমে আমার ডাটাবেসে সমস্ত টেবিলের জন্য ড্রপ স্টেটমেন্টগুলি তৈরি করছি এবং এটিকে ভেরিয়েবলের মধ্যে সঞ্চয় করছি। এটি যাচাই করতে আপনি Print @sqlআগে ব্যবহার করতে পারেন exec। তারপরে গতিশীলভাবে নির্মিত ড্রপ স্টেটমেন্টগুলি সম্পাদন করছিsp_executesql
পি ரதீப்

2
আপনি যদি Azure ব্যবহার করছেন, sp_msforeachtable উপলব্ধ নয়। সমস্ত FK সীমাবদ্ধতা মুছতে আমি অ্যারন বারট্রান্ডের কাছ থেকে এই মিষ্টি নকশাকে পেয়েছি। এই উত্তর সঙ্গে সত্যিই ভাল কাজ করে। dba.stackexchange.com/questions/90033/…
ট্রেভরেক

3
যদি sp_msforeachtable উপলভ্য না থাকে তবে আপনি মুছে ফেলা ক্যোয়ারী একাধিকবার চালাতেও পারেন, যেহেতু অন্যের উপর নির্ভর করে যে টেবিলগুলি তখন মুছে ফেলা হয় :)
মার্টেন কিফ্ট

88

আপনি যদি সমস্ত টেবিল মুছতে কেবল একটি এসকিউএল কোয়েরি ব্যবহার করতে চান তবে আপনি এটি ব্যবহার করতে পারেন:

EXEC sp_MSforeachtable @command1 = "DROP TABLE ?"

এটি স্কিএল সার্ভারে একটি লুকানো স্টোরড পদ্ধতি, এবং আপনি সংযুক্ত যে ডাটাবেসটিতে প্রতিটি টেবিলের জন্য কার্যকর করা হবে।

দ্রষ্টব্য: নির্ভরতার কারণে আপনার সমস্ত টেবিল মুছতে আপনার কয়েকবার ক্যোরিটি চালানো হতে পারে।

দ্রষ্টব্য 2 : প্রথম নোটটি এড়াতে, ক্যোয়ারী চালানোর আগে, প্রথমে কোনও টেবিলে বিদেশী কীগুলির সম্পর্ক আছে কিনা তা পরীক্ষা করে দেখুন। যদি সেখানে থাকে তবে কোয়েরি বেলো চালিয়ে বিদেশী কী সীমাবদ্ধতাটি অক্ষম করুন :

EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"

1
আমি এটি আমার আজুর এসকিউএল ডাটাবেসে চেষ্টা করেছি এবং এটি কার্যকর হয়নি। তবে উপরের উত্তর (প্রিডিপি দ্বারা) কাজ করেছে।
কৃত্রিম

4
পার্শ্ব নোটের জন্য, সমস্ত টেবিল বাদ দেওয়ার আগে আমার একাধিকবার প্রথম কমান্ড চালানো দরকার তবে এটি ঠিক আছে।
আল্পার

1
@ থ্যাটশওয়ারল সম্ভবত এটি টেবিলগুলির নির্ভরতার কারণে। যদি একটি টেবিলের উপর অন্যের নির্ভর করে তবে এটি মোছা যাবে না।
রাগএগেইনস্টম্যাচাইন 28'19

1
@ রেজএগেইনস্টম্যাচাইন হ্যাঁ এটি অবশ্যই একাধিক ক্রস নির্ভরতা সহ টেবিলগুলি থেকে। আমি এটি ব্যবহারকারীদের একাধিকবার চালাতে জানাতে চাই, ত্রুটিগুলি কোনও সমস্যা নয়। প্রথম কমান্ডটি 3-4 বার চালান তারপর দ্বিতীয় কমান্ড 1 বার এবং বিওএম। এটি কবজ মত কাজ করে!
আল্পার

1
@ কাইলভ্যাসেলা হ্যাঁ, এটি কেবলমাত্র আপনার ডাটাবেসে যে কনসোলটি খোলা রয়েছে তা
চালিয়ে যাবে

39

আপনি যদি টাইপ করতে না চান, আপনি এটি দিয়ে বিবৃতি তৈরি করতে পারেন:

USE Databasename

SELECT  'DROP TABLE [' + name + '];'
FROM    sys.tables

তারপরে এটি চালনার জন্য একটি নতুন এসএমএস উইন্ডোতে অনুলিপি করুন এবং আটকান।


টেবিলের নামটি মোড়ানো উচিত [] তবে
অজুরেতেও

1
আমরা এটি ব্যবহার QUOTENAMEকরতে পারি যা দেখতে সুন্দর। 'DROP TABLE ' + QUOTENAME(name) + ';'
পি ரதீப்

13

আপনি নিম্নোক্ত স্ক্রিপ্টটি সমস্ত কিছু বাদ দেওয়ার জন্য নিম্নলিখিতগুলি সহ ব্যবহার করতে পারেন:

  • নন-সিস্টেম সঞ্চিত পদ্ধতি
  • মতামত
  • ক্রিয়াকলাপ
  • বিদেশী কী বাধা
  • প্রাথমিক কী বাধা
  • টেবিল

https://michaelreichenbach.de/how-to-drop-everything-in-a-mssql-database/

/* Drop all non-system stored procs */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 ORDER BY [name])

WHILE @name is not null
BEGIN
    SELECT @SQL = 'DROP PROCEDURE [dbo].[' + RTRIM(@name) +']'
    EXEC (@SQL)
    PRINT 'Dropped Procedure: ' + @name
    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO

/* Drop all views */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 ORDER BY [name])

WHILE @name IS NOT NULL
BEGIN
    SELECT @SQL = 'DROP VIEW [dbo].[' + RTRIM(@name) +']'
    EXEC (@SQL)
    PRINT 'Dropped View: ' + @name
    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO

/* Drop all functions */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 ORDER BY [name])

WHILE @name IS NOT NULL
BEGIN
    SELECT @SQL = 'DROP FUNCTION [dbo].[' + RTRIM(@name) +']'
    EXEC (@SQL)
    PRINT 'Dropped Function: ' + @name
    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 AND [name] > @name ORDER BY [name])
END
GO

/* Drop all Foreign Key constraints */
DECLARE @name VARCHAR(128)
DECLARE @constraint VARCHAR(254)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)

WHILE @name is not null
BEGIN
    SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
    WHILE @constraint IS NOT NULL
    BEGIN
        SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint) +']'
        EXEC (@SQL)
        PRINT 'Dropped FK Constraint: ' + @constraint + ' on ' + @name
        SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
    END
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)
END
GO

/* Drop all Primary Key constraints */
DECLARE @name VARCHAR(128)
DECLARE @constraint VARCHAR(254)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)

WHILE @name IS NOT NULL
BEGIN
    SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
    WHILE @constraint is not null
    BEGIN
        SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint)+']'
        EXEC (@SQL)
        PRINT 'Dropped PK Constraint: ' + @constraint + ' on ' + @name
        SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
    END
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)
END
GO

/* Drop all tables */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)

SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 ORDER BY [name])

WHILE @name IS NOT NULL
BEGIN
    SELECT @SQL = 'DROP TABLE [dbo].[' + RTRIM(@name) +']'
    EXEC (@SQL)
    PRINT 'Dropped Table: ' + @name
    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO

9

আমি শুধু @ NoDisplayName এর উত্তর এবং ব্যবহার করার জন্য একটি ছোট পরিবর্তন করতে চাই QUOTENAME()উপর TABLE_NAMEকলাম এবং অন্তর্ভুক্ত TABLE_SCHEMAকলাম বাঁধা টেবিল নেই dboস্কিমা।

DECLARE @sql nvarchar(max) = '';

SELECT @sql += 'DROP TABLE ' + QUOTENAME([TABLE_SCHEMA]) + '.' + QUOTENAME([TABLE_NAME]) + ';'
FROM [INFORMATION_SCHEMA].[TABLES]
WHERE [TABLE_TYPE] = 'BASE TABLE';

EXEC SP_EXECUTESQL @sql;

বা sysস্কিমা দর্শন ব্যবহার করে (@ স্বাসেকের মন্তব্য অনুসারে):

DECLARE @sql nvarchar(max) = '';

SELECT @sql += 'DROP TABLE ' + QUOTENAME([S].[name]) + '.' + QUOTENAME([T].[name]) + ';'
FROM [sys].[tables] AS [T]
INNER JOIN [sys].[schemas] AS [S] ON ([T].[schema_id] = [S].[schema_id])
WHERE [T].[type] = 'U' AND [T].[is_ms_shipped] = 0;

EXEC SP_EXECUTESQL @sql;

4
আমি [sys]যদি rdbms জুড়ে বহনযোগ্যতার প্রয়োজন না হয় তবে আমি সাধারণত স্কিমা দৃশ্যের সাথে লেগে থাকি। stackoverflow.com/a/3654313/251174
swasheck

1
@ সোয়াসেক এই লিঙ্কটির জন্য ধন্যবাদ যা বেশ আকর্ষণীয় ছিল। সিস স্কিমা ভিউ ব্যবহার করে একটি সমাধান দিয়ে উত্তরটি আপডেট করেছি।
এয়ারাক্স

আপনি যোগদান পরিবর্তে স্কিমা নাম পেতে Schema_name () ফাংশন ব্যবহার করতে পারেন msdn.microsoft.com/en-us/library/ms175068.aspx
পি ரதீப்

@NoDisplayName শুধু কারণ আপনার যা করতে পারেন , মানে এই নয় যে আপনি উচিত ... blogs.sqlsentry.com/aaronbertrand/...
হারুন বারট্রান্ড

@ অ্যারনবার্ট্র্যান্ড - আমার খারাপ ধারণা এটি আরও ভাল উপায় হতে পারে। এটা ইশারা জন্য ধন্যবাদ.
পি ரதீப்

9

ডেভ.গুগের উত্তরের অনুসরণ হিসাবে এটি মাইএসকিউএল-এ সমস্ত ড্রপ টেবিলে রেখার জন্য কারোর প্রয়োজন কোড হবে:

SELECT CONCAT('DROP TABLE ', TABLE_NAME, ';')
FROM INFORMATION_SCHEMA.tables
WHERE TABLE_SCHEMA = 'your_database_name'

2
আমি জানি যে মূল পোস্টারটি "sql-server" দিয়ে প্রশ্নটি লেবেল করেছে, তবে এটি মাইএসকিউএল-তে এটি করার জন্য কারো পক্ষে উপকারী হতে পারে। আসলে এই প্রশ্নের মাইএসকিউএল সমাধানের জন্য গুগল করার সময় আমি এই প্রশ্নটি পেয়েছি, সুতরাং এখন আমি এখানে যে উত্তরগুলি পড়েছি তার সাথে সমাধানটি ভাগ করে নিচ্ছি।
ওএমএ

7

সহজ উপায় হ'ল সম্পূর্ণ ডাটাবেসটি ফেলে আবার এটি তৈরি করা:

drop database db_name
create database db_name

এখানেই শেষ.


1
:) কমপক্ষে আমার পক্ষে সমস্ত টেবিল ফেলে দেওয়ার উদ্দেশ্য কারণ ডাটাবেস মুছতে পারে না
হাসান জাফারি

5
এই আদেশটি কোম্পানির ডাটাবেসে চালাবেন না। অথবা অন্য কোনও কাজ সন্ধানের জন্য প্রস্তুত থাকুন।
ফারাজ

@ ফারাজদুরানী সহজ মানুষ, সমস্ত টেবিল বাদ দেওয়া কোনওভাবেই পিআরডি ডিবি-র জন্য চুক্তি বলে মনে হচ্ছে না।
তত্ত্বাবধান

5

যদি উত্তরের উত্তরের (বিদেশী কীগুলি অক্ষম করা সহ) সমাধানে অন্য কারও সমস্যা হয় তবে আমার কাছ থেকে অন্য একটি সমাধান এখানে দেওয়া হয়েছে :

-- CLEAN DB
USE [DB_NAME]
    EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
    EXEC sp_MSForEachTable 'DELETE FROM ?'

    DECLARE @Sql NVARCHAR(500) DECLARE @Cursor CURSOR
    SET @Cursor = CURSOR FAST_FORWARD FOR

    SELECT DISTINCT sql = 'ALTER TABLE [' + tc2.TABLE_NAME + '] DROP [' + rc1.CONSTRAINT_NAME + ']'
    FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc1
    LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc2 ON tc2.CONSTRAINT_NAME =rc1.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

    EXEC sp_MSForEachTable 'DROP TABLE ?'
    GO

    EXEC sp_MSForEachTable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL'

3

বেশ 1 টি ক্যোয়ারী নয়, এখনও বেশ ছোট এবং মিষ্টি:

-- Disable all referential integrity constraints
EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
GO

-- Drop all PKs and FKs
declare @sql nvarchar(max)
SELECT @sql = STUFF((SELECT '; ' + 'ALTER TABLE ' + Table_Name  +'  drop constraint ' + Constraint_Name  from Information_Schema.CONSTRAINT_TABLE_USAGE ORDER BY Constraint_Name FOR XML PATH('')),1,1,'')
EXECUTE (@sql)
GO

-- Drop all tables
EXEC sp_msforeachtable 'DROP TABLE ?'
GO

3

নিম্নলিখিত স্ক্রিপ্ট ব্যবহার dropসব constraints:

DECLARE @sql NVARCHAR(max)=''

SELECT @sql += ' ALTER TABLE ' + QUOTENAME(TABLE_SCHEMA) + '.'+ QUOTENAME(TABLE_NAME) +    ' NOCHECK CONSTRAINT all; '
FROM   INFORMATION_SCHEMA.TABLES
WHERE  TABLE_TYPE = 'BASE TABLE'

Exec Sp_executesql @sql

তারপরে সমস্ত সারণী বাদ দেওয়ার জন্য নিম্নলিখিতটি চালান:

select @sql='';

SELECT @sql += ' Drop table ' + QUOTENAME(TABLE_SCHEMA) + '.'+ QUOTENAME(TABLE_NAME) + '; '
FROM   INFORMATION_SCHEMA.TABLES
WHERE  TABLE_TYPE = 'BASE TABLE'

Exec Sp_executesql @sql

এটি আমার জন্য আজুর এসকিউএল ডেটাবেস যেখানে কাজ 'sp_msforeachtable'ছিল না সেখানে কাজ করেছিল !


1

আমি জানি এই প্রশ্নটি অনেক পুরানো তবে প্রতিবারই আমার এই কোডটি দরকার ... আপনার যদি টেবিল এবং ভিউ এবং ফাংশন এবং পদ্ধতি রয়েছে তবে আপনি এই স্ক্রিপ্টের মাধ্যমে এগুলি মুছতে পারেন .. সুতরাং কেন আমি এই স্ক্রিপ্টটি পোস্ট করব ?? কারণ আপনি যদি সমস্ত সারণী মুছে ফেলেন তবে আপনাকে সমস্ত দর্শন মুছে ফেলতে হবে এবং যদি আপনার কার্য এবং কার্যবিধি থাকে তবে আপনাকে এটিও মুছতে হবে
আমি আশা করি এটি কারও সাহায্য করবে

DECLARE @sql NVARCHAR(max)=''

 SELECT @sql += ' Drop table ' + QUOTENAME(TABLE_SCHEMA) + '.'+ QUOTENAME(TABLE_NAME) 
+ '; '
FROM   INFORMATION_SCHEMA.TABLES
WHERE  TABLE_TYPE = 'BASE TABLE'

Exec Sp_executesql @sql


 DECLARE @sql VARCHAR(MAX) = ''
    , @crlf VARCHAR(2) = CHAR(13) + CHAR(10) ;

 SELECT @sql = @sql + 'DROP VIEW ' + QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + 
 QUOTENAME(v.name) +';' + @crlf
 FROM   sys.views v

 PRINT @sql;
 EXEC(@sql);

 declare @procName varchar(500)
 declare cur cursor 

 for select [name] from sys.objects where type = 'p'
 open cur
 fetch next from cur into @procName
 while @@fetch_status = 0
 begin
  exec('drop procedure [' + @procName + ']')
fetch next from cur into @procName
 end
  close cur
  deallocate cur

  Declare @sql NVARCHAR(MAX) = N'';

    SELECT @sql = @sql + N' DROP FUNCTION ' 
               + QUOTENAME(SCHEMA_NAME(schema_id)) 
               + N'.' + QUOTENAME(name)
    FROM sys.objects
  WHERE type_desc LIKE '%FUNCTION%';

   Exec sp_executesql @sql
  GO
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.