information_schema . के विरुद्ध आपकी क्वेरी में आपके पास SQL और डायनेमिक SQL का मिश्रण है . साथ ही QUOTENAME जहां क्लॉज में जरूरी नहीं है और वास्तव में एक मैच को रोक देगा, क्योंकि SQL सर्वर column_name स्टोर करता है , नहीं [column_name] , मेटाडेटा में। अंत में, मैं इसे sys.columns . में बदलने जा रहा हूं चूंकि यह तरीका है हमें SQL सर्वर में मेटाडेटा प्राप्त करना चाहिए
. कोशिश करें:
SELECT @colnames += ',' + name
FROM Prod.sys.columns
WHERE OBJECT_NAME([object_id]) = @objname
AND name <> CASE WHEN @objname = 'TableXx' THEN 'ExcludeCol1' ELSE '' END
AND name <> CASE WHEN @objname = 'TableYy' THEN 'ExcludeCol2' ELSE '' END;
SET @colnames = STUFF(@colnames, 1, 1, '');