पैरामीट्रिज्ड क्वेरी का उपयोग sp_executesql
. के साथ करें प्रक्रिया:
DECLARE @val1 VARCHAR(20)= '500';
DECLARE @val2 VARCHAR(20)= '300';
DECLARE @Oper VARCHAR(20)= '>';
DECLARE @query NVARCHAR(MAX);
DECLARE @Flag INT= 0;
SET @query = 'if ' + @val1 + @Oper + @val2 + ' set @Flag=1';
DECLARE @ParamDefs NVARCHAR(MAX) = N'@Flag int output'
EXEC sp_executesql @query, @ParamDefs, @Flag OUTPUT
PRINT @Flag;
कुछ गलतियों को भी सुधारा:
declare @val1 varchar=100;
डिफ़ॉल्ट आकार होगा1
और@val1
*
. के साथ इनिशियलाइज़ किया गया है नहीं100
. देखें क्यों कास्ट/कन्वर्ट फ्रॉम इंट रिटर्न ए तारांकन विवरण के लिए।- आपको
int
में डालने की जरूरत नहीं है गतिशील क्वेरी के अंदर।