यदि SQL सर्वर तालिका में कोई स्तंभ मौजूद है, तो कैसे जांचें?


1853

यदि यह मौजूद नहीं है तो मुझे एक विशिष्ट कॉलम जोड़ना होगा। मेरे पास निम्नलिखित कुछ है, लेकिन यह हमेशा गलत होता है:

IF EXISTS(SELECT *
          FROM   INFORMATION_SCHEMA.COLUMNS
          WHERE  TABLE_NAME = 'myTableName'
                 AND COLUMN_NAME = 'myColumnName') 

यदि SQL सर्वर डेटाबेस की तालिका में कोई स्तंभ मौजूद है, तो मैं कैसे जांच सकता हूं?


12
मुझे नहीं लगता कि वास्तव में प्रश्न में कोड के साथ कुछ भी गलत है: 2008 R2 में मेरे लिए काम करता है। (हो सकता है कि आप इसे गलत डेटाबेस में चला रहे थे? हो सकता है कि आपका डेटाबेस केस-संवेदी था और आपके myTableName / myColumnName स्ट्रिंग्स में मामला सही नहीं था? इस प्रकार की क्वेरी COL_LENGTH समाधान से अधिक लचीली लगती है: मैं सक्षम हूं किसी भिन्न डेटाबेस के खिलाफ और भी उपयुक्त रूप से "INFORMATION_SCHEMA" लगाकर द्वारा एक डेटाबेस लिंक पर इसे चलाने के लिए कि कैसे करना है COL_LENGTH मेटाडाटा-समारोह के साथ नहीं देख सकता
mwardm

3
@ मर्म - COL_LENGTH('AdventureWorks2012.HumanResources.Department ','ModifiedDate')ठीक काम करता है।
मार्टिन स्मिथ

6
थोड़ा संबंधित संकेत: यदि आप स्तंभ जोड़ के ठीक बाद एक कॉलम अपडेट करना चाहते हैं (मेरा मानना ​​है कि कई उपयोगकर्ता इस उद्देश्य के लिए इस लेख को खोज रहे थे), तो आप EXEC sp_executesqlगठित UPDATEविवरण के साथ उपयोग कर सकते हैं ।
कैसेंड्राड

असली जवाब यह है कि आपको उस डेटाबेस को जोड़ना चाहिए जिसके खिलाफ आप जाँच कर रहे हैंFROM [YourDatabase].INFORMATION_SCHEMA.COLUMNS
एलेक्स क्विटनी

जवाबों:


2054

SQL सर्वर 2005 आगे:

IF EXISTS(SELECT 1 FROM sys.columns 
          WHERE Name = N'columnName'
          AND Object_ID = Object_ID(N'schemaName.tableName'))
BEGIN
    -- Column Exists
END

मार्टिन स्मिथ का संस्करण छोटा है:

IF COL_LENGTH('schemaName.tableName', 'columnName') IS NOT NULL
BEGIN
    -- Column Exists
END

मार्टिन स्मिथ के संस्करण में, एक बात का उल्लेख करना है कि वर्ग कोष्ठक के भीतर स्तंभ नाम शामिल नहीं है []। जब स्तंभ नाम वर्ग कोष्ठक के अंदर होता है [], यह तालिका में स्तंभ मौजूद होने पर भी अशक्त देगा
हेमेन्द्र

@ हेमेंद्रसिंहचौहान - ऐसा इसलिए है क्योंकि वे नाम का हिस्सा नहीं हैं। आप यह भी पाएंगे कि जब नाम के साथ तुलना की जाती हैsys.columns
मार्टिन स्मिथ

@MartinSmith नहीं जानता था कि, मैं आपके उत्तर का उपयोग कर रहा था और इस पर आया था। आम तौर पर मैं कॉलम जोड़ने के दौरान चौकोर कोष्ठक का उपयोग करता हूं, इसलिए मैंने उन्हें COL_LENGTH फ़ंक्शन के अंदर भी उपयोग किया। मेरा कोड इस तरह था:Alter table Table_Name Add [ColumnName] NVarchar(max) NULL; Select COL_LENGTH('[TABLE_NAME]', '[COLUMN_NAME]')
हेमेन्द्र

हाँ जो मान्य नहीं है। बहस करने के लिए तर्क की COL_LENGTHजरूरत है। किसी के लिए एक स्तंभ बनाना सैद्धांतिक रूप से संभव है जिसका वास्तव में नाम है [COLUMN_NAME]- जैसे CREATE TABLE #T([[COLUMN_NAME]]] INT); SELECT * FROM #Tऔर फिर यह अस्पष्ट होगा यदि यह नियम नहीं था।
मार्टिन स्मिथ

987

अधिक संक्षिप्त संस्करण

IF COL_LENGTH('table_name','column_name') IS NULL
BEGIN
/* Column does not exist or caller does not have permission to view the object */
END

मेटाडेटा को देखने की अनुमति के बारे में बात केवल एक ही नहीं सभी उत्तरों पर लागू होती है।

ध्यान दें कि पहला पैरामीटर तालिका नाम COL_LENGTHआवश्यकतानुसार एक, दो या तीन भाग नाम प्रारूप में हो सकता है।

एक उदाहरण एक अलग डेटाबेस में एक तालिका का संदर्भ है

COL_LENGTH('AdventureWorks2012.HumanResources.Department','ModifiedDate')

मेटाडेटा विचारों का उपयोग करने की तुलना में इस जवाब के साथ एक अंतर यह है कि मेटाडेटा फ़ंक्शन जैसे कि COL_LENGTHहमेशा केवल प्रभावी परिवर्तन के बावजूद प्रतिबद्ध परिवर्तनों के बारे में डेटा वापस करते हैं।


11
यह कुछ अन्य उत्तरों की तुलना में कम पठनीय है, शायद इसलिए इसे उच्च श्रेणी में नहीं रखा गया है।
बिल यांग

38
@ बिल - किस तरह से कम पठनीय? फ़ायरफ़ॉक्स में ठीक लग रहा है। यह उत्तर स्वीकृत 2 की तुलना में 2 साल बाद पोस्ट किया गया था, जो रेटिंग IMO की व्याख्या करता है। यदि आपका मतलब कम स्पष्ट है कि यह एक अस्तित्व की जाँच है तो इस प्रकार का मुहावरा SQL सर्वर में काफी सामान्य है। उदाहरण के IF OBJECT_ID('TableName','U') IS NULLलिए वस्तु अस्तित्व DB_ID('foo')की जाँच या डेटाबेस अस्तित्व की जाँच करने के लिए उपयोग करना ।
मार्टिन स्मिथ

59
@MartinSmith मुझे यकीन है कि उनका मतलब कम पठनीय था क्योंकि अगर आप इस मुहावरे को नहीं जानते हैं, और आपको यह कोड किसी और से विरासत में मिला है, तो आपको तुरंत समझ नहीं आएगा कि कोड क्या करता है। C ++ x>>2की बजाय लिखने की तरह x/4। अधिक क्रिया कोड ( if exists (select column_name from information_schema ...)) बहुत अधिक स्थान लेता है, लेकिन कोई भी कभी भी अपने सिर को खरोंच नहीं करेगा कि वह क्या करता है।
किप

22
अधिक संक्षिप्त के अलावा यह एक तरह से तेजी से समाधान है। एक्सेस INFORMATION_SCHEMAकिए गए दृश्य या sys.columnsहिट डिस्क, जबकि COL_LENGTHकैश्ड डेटाबेस मेटाडेटा का उपयोग करता है।
wqw

7
यह शायद सबसे उच्च श्रेणी का उत्तर नहीं है क्योंकि यह दूसरे के 2.5 साल बाद दिया गया था। इसलिए मैं हमेशा दो उत्तरों पर रेटिंग की तुलना करते समय तारीखों की जांच करता हूं। एक उत्तर को दूर करने में बहुत अधिक समय लगता है जो बहुत पहले दिया गया था। ;)
शॉन

149

अपनी विशिष्ट आवश्यकताओं के अनुरूप नीचे ट्वीक करें:

if not exists (select
                     column_name
               from
                     INFORMATION_SCHEMA.columns
               where
                     table_name = 'MyTable'
                     and column_name = 'MyColumn')
    alter table MyTable add MyColumn int

संपादित करने के लिए प्रश्न से निपटने के लिए संपादित करें : यह काम करना चाहिए - बेवकूफ गलतियों के लिए अपने कोड पर सावधानीपूर्वक विचार करें; क्या आप INFORMATION_SCHEMA को उसी डेटाबेस पर क्वेरी कर रहे हैं, जैसे कि आपका इन्सर्ट उदाहरण के लिए लागू किया जा रहा है? क्या आपके कथन में आपकी तालिका / कॉलम नाम में कोई टाइपो है?


3
मुझे अभी पता चला है कि TABLE_SCHEMA = 'mySchema' को जोड़ने के बाद जहां क्लॉज समस्या को ठीक करता है।
मैकीज

12
-1: ओपी के सवाल का जवाब नहीं देता है, केवल नई जानकारी जोड़ता है कि कैसे ओपी के बारे में पूछने के बावजूद एक नया कॉलम जोड़ना है, ओपी की टिप्पणी को संबोधित नहीं करता है।
एवेज़

1
+1 उत्तर ओपी का प्रश्न पूरी तरह से अतिरिक्त जानकारी के एक बोनस के साथ है जो ओपी अगले रास्ते के लिए जा रहा था। और यही मैं ढूंढ रहा था।
बिटरब्लू

74

इसे इस्तेमाल करे...

IF NOT EXISTS(
  SELECT TOP 1 1
  FROM INFORMATION_SCHEMA.COLUMNS
  WHERE 
    [TABLE_NAME] = 'Employees'
    AND [COLUMN_NAME] = 'EmployeeID')
BEGIN
  ALTER TABLE [Employees]
    ADD [EmployeeID] INT NULL
END

6
यह विधि SQL CE के साथ भी काम करती है, जबकि कुछ अन्य तरीकों का उल्लेख नहीं किया गया है।
स्वेटर्स -

9
आप SELECT 1इसके स्थान पर उपयोग कर सकते हैं SELECT TOP 1 1;)
shA.t

4
एक EXISTSबयान के भीतर SQL स्वचालित रूप से स्तंभों का अनुकूलन करता है (बहुत पसंद है count(*)) इसलिए SELECT *पर्याप्त होगा।
मार्क एल।

पूर्णता के लिए, आपको and [TABLE_SCHEMA] = '???'WHERE क्लॉज में जोड़ने पर विचार करना चाहिए ।
एंड्रयू जेन्स

50

जो लोग स्तंभ के अस्तित्व की जाँच कर रहे हैं, उसे गिराने के लिए।

से एसक्यूएल सर्वर 2016 यदि आप बड़े बजाय नई DIE बयानों का उपयोग कर सकते IFरैपर

ALTER TABLE Table_name DROP COLUMN IF EXISTS Column_name

47

मैं INFORMATION_SCHEMA.COLUMNSएक सिस्टम टेबल पर पसंद करूंगा क्योंकि Microsoft संस्करणों के बीच सिस्टम टेबल को संरक्षित करने की गारंटी नहीं देता है। उदाहरण के लिए, dbo.syscolumnsअभी भी SQL 2008 में काम करता है, लेकिन यह पदावनत है और भविष्य में किसी भी समय हटाया जा सकता है।



5
हां, यह बिना कहे चला जाता है क्योंकि INFORMATION_SCHEMAविचारों में केवल ANSI- मानक मेटाडेटा होता है। हालांकि, यह एक अस्तित्व परीक्षण के लिए पर्याप्त है।
क्रिश्चियन हेटर

3
Microsoft कहता है "SQL सर्वर के भविष्य के रिलीज़ में, Microsoft कॉलम सूची के अंत में कॉलम जोड़कर किसी भी सिस्टम कैटलॉग दृश्य की परिभाषा को बढ़ा सकता है। हम उत्पादन कोड में सिंटैक्स का चयन * Fys sys.catalog_view_name के उपयोग के खिलाफ करने की सलाह देते हैं क्योंकि संख्या। दिए गए कॉलम आपके एप्लिकेशन को बदल सकते हैं और तोड़ सकते हैं। " इसका मतलब है कि वे कॉलम नहीं हटाएंगे या अपना ऑर्डर नहीं बदलेंगे। सभी मामलों में बढ़त के मामले में यह काफी अच्छा है।
बजे

42

आप जिन सूचनाओं में रुचि रखते हैं, उनके बारे में बहुत कुछ पता करने के लिए सूचना स्कीमा प्रणाली के विचारों का उपयोग कर सकते हैं:

SELECT *
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE TABLE_NAME = 'yourTableName'
 ORDER BY ORDINAL_POSITION

आप Information_schema विचारों का उपयोग करके डेटाबेस के बारे में विचारों, संग्रहीत प्रक्रियाओं और बहुत अधिक पूछताछ कर सकते हैं।


यह वही है जो प्रश्नावली का उपयोग कर रहा है, उसे यह जानना आवश्यक है कि यदि यह मौजूद नहीं था तो कॉलम को कैसे जोड़ा जाए।
बीरल

35

कुछ इस तरह का प्रयास करें:

CREATE FUNCTION ColumnExists(@TableName varchar(100), @ColumnName varchar(100))
RETURNS varchar(1) AS
BEGIN
DECLARE @Result varchar(1);
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = @TableName AND COLUMN_NAME = @ColumnName)
BEGIN
    SET @Result = 'T'
END
ELSE
BEGIN
    SET @Result = 'F'
END
RETURN @Result;
END
GO

GRANT EXECUTE ON  [ColumnExists] TO [whoever]
GO

फिर इसे इस तरह उपयोग करें:

IF ColumnExists('xxx', 'yyyy') = 'F'
BEGIN
  ALTER TABLE xxx
  ADD yyyyy varChar(10) NOT NULL
END
GO

यह SQL Server 2000 और SQL Server 2005 दोनों पर काम करना चाहिए। SQL Server 2008 के बारे में निश्चित नहीं है, लेकिन देखें कि क्यों नहीं।


34

पहले जांचें कि क्या table/ column( id/ name) संयोजन मौजूद है dbo.syscolumns(एक आंतरिक SQL सर्वर तालिका जिसमें फ़ील्ड परिभाषाएं हैं), और यदि ALTER TABLEइसे जोड़ने के लिए उपयुक्त क्वेरी जारी नहीं की गई है। उदाहरण के लिए:

IF NOT EXISTS ( SELECT  *
            FROM    syscolumns
            WHERE   id = OBJECT_ID('Client')
                    AND name = 'Name' ) 
ALTER TABLE Client
ADD Name VARCHAR(64) NULL

28

एक अच्छे दोस्त और मेरे सहकर्मी ने मुझे दिखाया कि कैसे आप एक IFफ़ंक्शन के लिए जाँच करने के लिए SQL फ़ंक्शन के साथ OBJECT_IDऔर COLUMNPROPERTYSQL SERVER 2005+ में भी ब्लॉक का उपयोग कर सकते हैं । आप निम्नलिखित के समान कुछ का उपयोग कर सकते हैं:

आप यहां अपने लिए देख सकते हैं

IF (OBJECT_ID(N'[dbo].[myTable]') IS NOT NULL AND
    COLUMNPROPERTY( OBJECT_ID(N'[dbo].[myTable]'), 'ThisColumnDoesNotExist', 'ColumnId') IS NULL)
BEGIN
    SELECT 'Column does not exist -- You can add TSQL to add the column here'
END

1
और हां, यदि आप आश्वस्त हैं कि तालिका मौजूद है, तो आप हालत के पहले भाग को छोड़ सकते हैं और COLUMNPROPERTYकेवल जाँच कर सकते हैं।
रूड हेलडरमैन

26
declare @myColumn   as nvarchar(128)
set @myColumn = 'myColumn'
if not exists (
    select  1
    from    information_schema.columns columns 
    where   columns.table_catalog   = 'myDatabase'
        and columns.table_schema    = 'mySchema' 
        and columns.table_name      = 'myTable' 
        and columns.column_name     = @myColumn
    )
begin
    exec('alter table myDatabase.mySchema.myTable add'
    +'    ['+@myColumn+'] bigint       null')
end

22

इसने मेरे लिए SQL 2000 में काम किया:

IF EXISTS 
(
    SELECT * 
    FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE table_name = 'table_name' 
    AND column_name = 'column_name'
)
BEGIN
...
END

21

इसे इस्तेमाल करे

SELECT COLUMNS.*
FROM   INFORMATION_SCHEMA.COLUMNS COLUMNS,
       INFORMATION_SCHEMA.TABLES TABLES
WHERE  COLUMNS.TABLE_NAME = TABLES.TABLE_NAME
       AND Upper(COLUMNS.COLUMN_NAME) = Upper('column_name') 

आपको INFORMATION_SCHEMA.TABLESकिसी विशिष्ट तालिका के लिए स्तंभों को फ़िल्टर करने की आवश्यकता नहीं है, इसलिए यह कभी-कभी अलग-अलग तालिकाओं में समान स्तंभ नामों के लिए एक से अधिक पंक्ति लौटाएगा;)
sha.t

19

मुझे एसक्यूएल सर्वर 2000 के लिए समान की आवश्यकता थी और @ मिच बताते हैं, यह केवल 2005+ में काम करता है।

क्या इसे किसी और की मदद करनी चाहिए, यही मेरे लिए अंत में काम आया:

if exists (
    select * 
    from 
        sysobjects, syscolumns 
    where 
        sysobjects.id = syscolumns.id 
        and sysobjects.name = 'table' 
        and syscolumns.name = 'column')

15
if exists (
  select * 
  from INFORMATION_SCHEMA.COLUMNS 
  where TABLE_NAME = '<table_name>' 
  and COLUMN_NAME = '<column_name>'
) begin
  print 'Column you have specified exists'
end else begin
  print 'Column does not exist'
end

13
IF NOT EXISTS( SELECT NULL
            FROM INFORMATION_SCHEMA.COLUMNS
           WHERE table_name = 'TableName'
             AND table_schema = 'SchemaName'
             AND column_name = 'ColumnName')  BEGIN

  ALTER TABLE [SchemaName].[TableName] ADD [ColumnName] int(1) NOT NULL default '0';

END;

2
मुझे लगता है कि आपका मतलब टेबल_केम = 'स्कीमा_नाम' है।
ताब अललेमन

11

स्वीकृत उत्तर का एक अस्थायी तालिका संस्करण :

if (exists(select 1 
             from tempdb.sys.columns  
            where Name = 'columnName'
              and Object_ID = object_id('tempdb..#tableName')))
begin
...
end

1
वह कैसे स्वीकृत उत्तर से अलग है? क्या एक अस्थायी तालिका स्वीकृत उत्तर में काम नहीं करेगी?
जॉन सॉन्डर्स

1
सही बात। स्वीकृत उत्तर अस्थायी तालिकाओं के लिए काम नहीं करता है क्योंकि 'sys.columns' को 'tempdb.sys.columns' के रूप में निर्दिष्ट किया जाना चाहिए और तालिका का नाम 'tempdb ..' से पहले होना चाहिए।
क्रोकेक


8

गेहूं का उत्तर अच्छा है, लेकिन मानता है कि आपके पास किसी भी स्कीमा या डेटाबेस में कोई समान तालिका नाम / स्तंभ नाम जोड़े नहीं हैं। इसे उस स्थिति के लिए सुरक्षित बनाने के लिए इसका उपयोग करें ...

select *
from Information_Schema.Columns
where Table_Catalog = 'DatabaseName'
  and Table_Schema = 'SchemaName'
  and Table_Name = 'TableName'
  and Column_Name = 'ColumnName'

8

स्तंभ के अस्तित्व की जांच करने के कई तरीके हैं। INFORMATION_SCHEMA.COLUMNSउपयोगकर्ता के साथ संवाद करने के लिए इसे बनाने के लिए मैं दृढ़ता से उपयोग करने की सलाह दूंगा । निम्नलिखित तालिकाओं पर विचार करें:

 sys.objects
 sys.columns

और यहां तक ​​कि जांच के लिए कुछ अन्य पहुंच विधियां उपलब्ध हैं system catalog.

इसके अलावा, उपयोग करने की आवश्यकता नहीं है SELECT *, बस इसे परखेंNULL value

IF EXISTS(
           SELECT NULL 
           FROM INFORMATION_SCHEMA.COLUMNS
           WHERE
             TABLE_NAME = 'myTableName'
             AND COLUMN_NAME = 'myColumnName'
         ) 

1
कोई फर्क नहीं पड़ता भले ही आप के SELECT *साथ EXISTS, क्योंकि जब मौजूद है उपयोग किया जाता है तो यह वास्तव में सभी पंक्तियों और सभी स्तंभों का चयन नहीं करता है, आंतरिक रूप से यह सिर्फ अस्तित्व के लिए जाँच करता है और वास्तव में सभी पंक्तियों और स्तंभों की जांच नहीं करता है
पवन नोगरिया

7

सबसे सरल और समझने योग्य समाधान है:

IF COL_LENGTH('Table_Name','Column_Name') IS NULL
 BEGIN
    -- Column Not Exists, implement your logic
 END 
ELSE
 BEGIN
    -- Column Exists, implement your logic
 END

7

यहाँ एक सरल स्क्रिप्ट है जिसका उपयोग मैं डेटाबेस में कॉलम जोड़ने के लिए करता हूँ:

IF NOT EXISTS (
        SELECT *
        FROM sys.Columns
        WHERE Name = N'QbId'
            AND Object_Id = Object_Id(N'Driver')
        )
BEGIN
    ALTER TABLE Driver ADD QbId NVARCHAR(20) NULL
END
ELSE
BEGIN
    PRINT 'QbId is already added on Driver'
END

इस उदाहरण में, Nameहै ColumnNameजोड़े जाने के लिए और Object_IdहैTableName


4

नीचे दिए गए क्वेरी का उपयोग यह जांचने के लिए किया जा सकता है कि खोजा गया कॉलम टेबल में मौजूद है या नहीं। हम खोज परिणाम के आधार पर निर्णय ले सकते हैं जैसा कि नीचे दिखाया गया है।

IF EXISTS (SELECT 'Y' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = <YourTableName> AND COLUMN_NAME = <YourColumnName>)
  BEGIN
    SELECT 'Column Already Exists.'
  END
  ELSE
  BEGIN
    ALTER TABLE <YourTableName> ADD <YourColumnName> <DataType>[Size]
  END


1

टेबल -> स्क्रिप्ट टेबल के रूप में -> नई खिड़कियां - आपके पास डिजाइन स्क्रिप्ट है। जाँचें और नई विंडो में कॉलम नाम खोजें


1

नीचे दी गई तालिका में कॉलम मौजूद है या नहीं, यह जानने के लिए नीचे दी गई क्वेरी निष्पादित करें:

IF(SELECT COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'TableName' AND COLUMN_NAME = 'ColumnName') IS NOT NULL
PRINT 'Column Exists in the given table';

1

एक अन्य योगदान निम्न नमूना है जो स्तंभ को जोड़ता है यदि मौजूद नहीं है।

    USE [Northwind]
    GO

    IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS 
                    WHERE TABLE_NAME = 'Categories'
                        AND COLUMN_NAME = 'Note')
    BEGIN

    ALTER TABLE Categories ADD Note NVARCHAR(800) NULL

    END
    GO

आशा है ये मदद करेगा। सिमोन


0
IF EXISTS(SELECT 1 FROM sys.columns 
      WHERE Name = N'columnName'
      AND Object_ID = Object_ID(N'schemaName.tableName'))

यह इस समस्या का काफी आसान तरीका और सीधे आगे का समाधान होना चाहिए। मैंने इसी तरह के परिदृश्यों के लिए कई बार इसका उपयोग किया है। यह एक आकर्षण की तरह काम करता है, इस पर कोई संदेह नहीं है।


0
IF EXISTS (
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG = 'Database Name'
and TABLE_SCHEMA = 'Schema Name'
and TABLE_NAME = 'Table Name'
and COLUMN_NAME = 'Column Name'
and DATA_TYPE = 'Column Type') -- Where statement lines can be deleted.

BEGIN
--COLUMN EXISTS IN TABLE
END

ELSE BEGIN
--COLUMN DOES NOT EXISTS IN TABLE
END

0

स्तंभ मौजूद न होने पर कुछ करें:

BEGIN
    IF (COL_LENGTH('[dbo].[Table]', 'Column ') IS NULL)
    BEGIN
        //Do something
    END
END;

स्तंभ मौजूद है तो कुछ करें:

BEGIN
    IF (COL_LENGTH('[dbo].[Table]', 'Column ') IS NOT NULL)
    BEGIN
        //Do something
    END
END;
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.