संपादित करें: हालांकि इस सवाल चिह्नित किया गया है एक डुप्लिकेट के रूप में, यह अभी भी ध्यान दे रहा है। @JaKXz द्वारा प्रदान किया गया उत्तर सही है और स्वीकार्य उत्तर होना चाहिए।
आपको दृश्य के अस्तित्व की जांच करनी होगी। फिर परिणाम के आधार पर CREATE VIEW
या ALTER VIEW
करें।
IF (NOT EXISTS (SELECT 1 FROM sys.views WHERE name = 'data_VVV'))
BEGIN
EXECUTE('CREATE VIEW data_VVVV as SELECT 1 as t');
END;
ALTER VIEW data_VVVV AS
SELECT VCV.xxxx, VCV.yyyy AS yyyy, VCV.zzzz AS zzzz FROM TABLE_A ;
दृश्य के अस्तित्व के लिए पहले चेक (वहाँ यह करने के लिए अन्य तरीके हैं:
IF OBJECT_ID('dbo.data_VVVV') IS NULL
BEGIN
CREATE VIEW dbo.data_VVVV
AS
SELECT VCV.xxxx, VCV.yyyy AS yyyy, VCV.zzzz AS zzzz FROM TABLE_A VCV
END
ELSE
ALTER VIEW dbo.data_VVVV
AS
SELECT VCV.xxxx, VCV.yyyy AS yyyy, VCV.zzzz AS zzzz FROM TABLE_A VCV
BEGIN
END
यह आपको अपने चयन कथन को दोहराने का कारण बनता है ताकि आप वास्तव में उस कोड की मात्रा को दोगुना कर सकें जिसके बारे में आपको सोचना है। JaKXz उत्तर नीचे एक बेहतर दृष्टिकोण – JustEngland
यह SQL सर्वर में काम नहीं करता है। 'व्यू बनाएं' बैच में सबसे पहले होना चाहिए और इसे 'IF' के अंदर डालने का प्रयास करते समय, मुझे' VIEW 'कीवर्ड के पास गलत वाक्यविन्यास मिलता है। – trailmax
आपको CREATE कथन को EXEC (' आपका निर्माण कथन 'में लपेटना होगा)। अन्यथा यह आईएफ में काम नहीं करेगा। –