मैं SQL सर्वर 2008 R2 का उपयोग कर रहा हूँ।
मैं कॉलम को छोड़ना चाहता हूं यदि यह तालिका में पहले से मौजूद है और कोई त्रुटि नहीं फेंकता है।
कोशिश की:
ALTER TABLE Emp
DROP COLUMN IF EXISTS Lname;
त्रुटि:
कीवर्ड 'IF' के पास गलत सिंटैक्स।
खोजने पर पता चला कि यह विकल्प 2016 से उपलब्ध है।
SQL Server 2008 R2 में विकल्प क्या है?
2 जवाब
IF EXISTS (SELECT 1
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Emp'
AND COLUMN_NAME = 'Lname'
AND TABLE_SCHEMA='DBO')
BEGIN
ALTER TABLE Emp
DROP COLUMN Lname
END
GO
MSDN सामाजिक से -table?forum=transactsql" rel="nofollow noreferrer">दस्तावेज़ीकरण, हम कोशिश कर सकते हैं:
IF EXISTS (SELECT 1 FROM sys.objects o
INNER JOIN sys.columns c ON o.object_id = c.object_id
WHERE o.name = 'Emp' AND c.name = 'Lname')
ALTER TABLE dbo.Emp DROP COLUMN Lname;
संबंधित सवाल
नए सवाल
sql-server
Microsoft SQL सर्वर एक रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) है। कॉम्पैक्ट, एक्सप्रेस, एज़्योर, फास्ट-ट्रैक, एपीएस (पूर्व में पीडीडब्ल्यू) और एज़्योर SQL डीडब्ल्यू सहित सभी SQL सर्वर संस्करणों के लिए इस टैग का उपयोग करें। अन्य प्रकार के DBMS (MySQL, PostgreSQL, Oracle, आदि) के लिए इस टैग का उपयोग न करें। सॉफ़्टवेयर और मोबाइल विकास के मुद्दों के लिए इस टैग का उपयोग न करें, जब तक कि यह सीधे डेटाबेस से संबंधित न हो।