سؤال

لا أفهم لماذا يعطيني ما يلي الخطأ. اعتقدت أنه مرتبط بالقسم الخارجي، لكن SQL هو nvarchar (4000).

BEGIN
  sp_executesql N'SELECT ''td'''
  --sp_executesql @SQL, N'@StartDate DateTime, @EndDate DateTime, @End2 DateTime, @Program varchar(4)', @StartDate, @EndDate, @End2, @Program
END
هل كانت مفيدة؟

المحلول

هذا هو السبب:

- هذا يعمل بشكل جيد فقط: ابدأ - يجب أن يكون لديك Exec قبل sp_executesql الخاص بك أو لن يعمل في كتلة exec exec sp_executesql n'Select '' td '' 'نهاية

لا يمكنك فقط الاتصال بروك مخزنة بدون exec. عندما تكون في كتلة.

نصائح أخرى

لماذا لديك هذا مغلق في بداية ... نهاية؟ تشغيل SP_EXECICECEUCESQL الخارجي ستعمل الكتلة.

اختياريا يمكنك وضع exec. قبل sp_execututionql.

في بعض المناسبات، اضطررت إلى استخدام ماجستير كذلك:

exec master..sp_executesql 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top