• 0
ABC123

كيفية جعل متغير عام يشير إلى جدول

سؤال

السلام عليكم ورحمة الله وبركاته

 

سؤال هام جدا لذوي الخبرة والإختصاص في لغة البرمجة T-SQL

 

باختصار شديد انا عندي إجراء مخزن يحتوي على الجملة الآتية :

DECLARE @N1 INT

SET @N1 = (SELECT COUNT(*) FROM SEARCH1)
 
إريد أن أمرر متغير وليكن اسمة @TBL1 إلى الإجراء المخزن لأستطيع تنفيذ الآتي :
SET @N1 = (SELECT COUNT(*) FROM @TBL1)
 
إذا لم يكن هناك نوع بيانات يقبل أن يكون متغيرا لجدول فما هي الطريقة البديلة ؟!!!!!!!!!!!!!!!!!
 
مع العلم أني جربت الآتي :
   SET @CMD1 = 'SELECT COUNT(*) FROM ' + @TBL1
   SET @N1 = EXEC (@CMD1)
 
ولكن الطريقة خاطئة ؟؟؟؟؟؟؟؟؟؟؟؟؟!!!!!!!!!!!!!!!!!!!!!!!!
 
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

3 إجابة على هذا السؤال .

  • 0

look this code

DECLARE @sql    nvarchar(4000),        @params nvarchar(4000),        @count  int   SELECT @sql =   N' SELECT @cnt = COUNT(*) FROM dbo.' + quotename(@tbl) +   N' WHERE LastUpdated BETWEEN @fromdate AND ' +   N'                           coalesce(@todate, ''99991231'')'   SELECT @params = N'@fromdate datetime, ' +                    N'@todate   datetime = NULL, ' +                    N'@cnt      int      OUTPUT'   EXEC sp_executesql @sql, @params, '20060101', @cnt = @count OUTPUT   PRINT @tbl + ': ' + convert(varchar(10), @count) + ' modified rows.'

http://www.sommarskog.se/dynamic_sql.html

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله خير الجزاء أخي KARIMSOFT على الرد

 

تجاوزت المشكلة الموجودة عندي في الكود بالإعتماد على @@ROWCOUNT

 

لكني سأتحقق من الكود ومن الرابط وسوف اوافيك بالنتيجة إن شاء الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .