أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

كيفية تحديد معلمات الإخراج عند استخدام sp_executesql في الإجراء المخزن في SQL Server

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية262499
الموجز
يتم استخدام إجراء النظام المخزن sp_executesql تنفيذ عبارة T SQL يمكن إعادة استخدامه عدة مرات، أو تنفيذ عبارة T SQL المضمنة بشكل حيوي. يأخذ المعلمات كمدخلات لمعالجة عبارات T SQL أو دفعات. كما يسمح معلمات الإخراج تحديد حيث يمكن تخزين أي الإخراج التي تم إنشاؤها من عبارات T SQL (على الرغم من أنه لم يتم توثيقها هذا في كتب SQL Server عبر إنترنت).

اثنين من السيناريوهات التي ستكون مفيدة مع sp_executesql معلمات الإخراج:
  • إذا sp_executesql بإنشاء الإخراج ستكون مفيدة، يسمح تخزين هذا الإخراج لمعلمة إخراج المجموعة الاستدعاء استخدام المعلمة للاستعلامات اللاحقة.
  • Sp_executesql تنفيذ إجراء مخزن الذي يتم تعريفه باستخدام معلمات الإخراج، يمكن استخدام معلمات الإخراج ل sp_executesql لاستيعاب الإخراج التي تم إنشاؤها من الإجراء المخزن.
معلومات أخرى
توضح الأمثلة التالية استخدام معلمات الإخراج مع sp_executesql.

مثال 1
DECLARE @SQLString NVARCHAR(500)DECLARE @ParmDefinition NVARCHAR(500)DECLARE @IntVariable INTDECLARE @Lastlname varchar(30)SET @SQLString = N'SELECT @LastlnameOUT = max(lname)                   FROM pubs.dbo.employee WHERE job_lvl = @level'SET @ParmDefinition = N'@level tinyint,                        @LastlnameOUT varchar(30) OUTPUT'SET @IntVariable = 35EXECUTE sp_executesql@SQLString,@ParmDefinition,@level = @IntVariable,@LastlnameOUT=@Lastlname OUTPUTSELECT @Lastlname				
مثال 2
CREATE PROCEDURE Myproc    @parm varchar(10),    @parm1OUT varchar(30) OUTPUT,    @parm2OUT varchar(30) OUTPUT    AS      SELECT @parm1OUT='parm 1' + @parm     SELECT @parm2OUT='parm 2' + @parmGODECLARE @SQLString NVARCHAR(500)DECLARE @ParmDefinition NVARCHAR(500)DECLARE @parmIN VARCHAR(10)DECLARE @parmRET1 VARCHAR(30)DECLARE @parmRET2 VARCHAR(30)SET @parmIN=' returned'SET @SQLString=N'EXEC Myproc @parm,                             @parm1OUT OUTPUT, @parm2OUT OUTPUT'SET @ParmDefinition=N'@parm varchar(10),                      @parm1OUT varchar(30) OUTPUT,                      @parm2OUT varchar(30) OUTPUT'EXECUTE sp_executesql    @SQLString,    @ParmDefinition,    @parm=@parmIN,    @parm1OUT=@parmRET1 OUTPUT,@parm2OUT=@parmRET2 OUTPUTSELECT @parmRET1 AS "parameter 1", @parmRET2 AS "parameter 2"godrop procedure Myproc				
لمزيد من المعلومات، راجع "sp_executesql (T-SQL)" و "باستخدام sp_executesql" في SQL Server الكتب Online.For على معلومات إضافية، راجع "استخدام sp_executesql" في "كتب SQL Server عبر إنترنت" و "sp_executesql (T-SQL) في كتب SQL Server 7.0" أو "sp_executesql" في كتب SQL Server 2000.

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 262499 - آخر مراجعة: 12/22/2014 19:56:00 - المراجعة: 5.0

Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbsqlsetup kbinfo kbmt KB262499 KbMtar
تعليقات
/html>html>">ipt" async=""> var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write(" y>