কেন আমি এই ত্রুটি পেতে পারি
পদ্ধতিটি 'এনটেক্সট / এনসিআর / এনভারচার' টাইপের প্যারামিটার 'স্টেটমেন্ট' আশা করে।
আমি কখন ব্যবহার করার চেষ্টা করব sp_executesql
?
কেন আমি এই ত্রুটি পেতে পারি
পদ্ধতিটি 'এনটেক্সট / এনসিআর / এনভারচার' টাইপের প্যারামিটার 'স্টেটমেন্ট' আশা করে।
আমি কখন ব্যবহার করার চেষ্টা করব sp_executesql
?
উত্তর:
আপনি যখন VVARAR বিবৃতিতে sp_executesql কল করছেন এমন শব্দগুলি যখন এটি এনভিচারার হওয়া দরকার।
যেমন এটি ত্রুটিটি দেবে কারণ @ এসকিউএলকে এনভিচারার হওয়া দরকার be
DECLARE @SQL VARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL
সুতরাং:
DECLARE @SQL NVARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL
সমাধানটি হ'ল উভয় প্রকারের এবং এসকিউএল স্ট্রিংয়ের সামনে এটি একটি ডাবল-বাইট চরিত্রের স্ট্রিং হিসাবে চিহ্নিত করা উচিত:
DECLARE @SQL NVARCHAR(100)
SET @SQL = N'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL