studio - sql tutorial pdf




SQL সার্ভারে বিদ্যমান থাকলে কীভাবে একটি টেবিল ড্রপ করবেন? (8)

টেবিল নাম Scores

এটা নিম্নলিখিত কাজ সঠিক?

IF EXISTS(SELECT *
          FROM   dbo.Scores)
  DROP TABLE dbo.Scores 

এটা নিম্নলিখিত কাজ সঠিক?

IF EXISTS(SELECT *
          FROM   dbo.Scores)
  DROP TABLE dbo.Scores

না। যদি এটি কোনও সারি থাকে তবে কেবলমাত্র টেবিলটি ছেড়ে যাবে (এবং যদি টেবিল বিদ্যমান না থাকে তবে একটি ত্রুটি বাড়াবে)।

পরিবর্তে, একটি স্থায়ী টেবিল জন্য আপনি ব্যবহার করতে পারেন

IF OBJECT_ID('dbo.Scores', 'U') IS NOT NULL 
  DROP TABLE dbo.Scores; 

অথবা, একটি অস্থায়ী টেবিল জন্য আপনি ব্যবহার করতে পারেন

IF OBJECT_ID('tempdb.dbo.#T', 'U') IS NOT NULL
  DROP TABLE #T; 

এসকিউএল সার্ভার 2016+ একটি ভাল উপায় আছে, DROP TABLE IF EXISTS … ব্যবহার করে DROP TABLE IF EXISTS … @ জোভান উত্তরটি দেখুন।


ANSI এসকিউএল / ক্রস প্ল্যাটফর্ম INFORMATION_SCHEMA ব্যবহার করা, যা বিশেষভাবে SQL ডেটাবেসে বস্তুর সম্পর্কে মেটা ডেটা অনুসন্ধান করার জন্য ডিজাইন করা হয়েছিল।

if exists (select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'Scores' AND TABLE_SCHEMA = 'dbo')
    drop table dbo.Scores;

বেশিরভাগ আধুনিক RDBMS সার্ভারগুলি অন্তত প্রাথমিক ইনফরমেশনসএইচএইচএইচএমএ সমর্থন করে, যার মধ্যে রয়েছে: MySQL , Postgres , Oracle , আইবিএম ডিবি 2 এবং মাইক্রোসফ্ট এসকিউএল সার্ভার 7.0 (এবং তার চেয়ে বেশি)


আমি ব্যবহার করি:

if exists (select * 
           from sys.tables 
           where name = 'tableName' 
           and schema_id = schema_id('dbo'))
begin
    drop table dbo.tableName
end

আশা করি এটা কাজে লাগবে:

begin try drop table #tempTable end try
begin catch end catch

এসকিউএল সার্ভার 2016 (13.x) এবং উপরে

DROP TABLE IF EXISTS dbo.Scores

আগের সংস্করণে

IF OBJECT_ID('dbo.Scores', 'U') IS NOT NULL 
DROP TABLE dbo.Scores; 

তোমার table type ইউ



সত্যিই কাজ না যে অনেক দেখা হয়েছে। যখন একটি টেম্প টেবিল তৈরি করা হয় এটি tempdb থেকে মুছে ফেলা আবশ্যক!

কাজ করে যে একমাত্র কোড:

IF OBJECT_ID('tempdb..#tempdbname') IS NOT NULL     --Remove dbo here 
    DROP TABLE #tempdbname   -- Remoeve "tempdb.dbo"

সহজ যে:

IF OBJECT_ID(dbo.TableName, 'U') IS NOT NULL
DROP TABLE dbo.TableName

যেখানে dbo.TableName আপনার পছন্দসই টেবিল এবং 'U' আপনার table type






sql-server