تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيفية التعامل مع المتغيرات داخل SQL Server
#1
كاتب الموضوع : Mr. Ahmed Negm


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

كثيراً ما تود العمل على إجراء عملية حسابية داخل
SQL Stored Procedure أو SQL Functions ، مثل عمليات الجمع والطرح وما إلى ذلك ، أو أحيانا تود إسناد قيمة ما لمتغير معين لتعيد استخدام تلك القيمة فيما بعد فيما تريد. إليك الآتي:

الشكل العام للجملة:


كود :
[color=#000000][COLOR=#007700]DECLARE @<[/color][color=#0000bb]اسم المتغير[/color][color=#007700]>  <[/color][color=#0000bb]نوع المتغير[/color][COLOR=#007700]>  
[/COLOR][/COLOR]



مثال:


كود :
[color=#000000][COLOR=#007700]DECLARE @[/color][COLOR=#0000bb]MyVar INT  
[/COLOR][/COLOR]



حيث ( MyVar ) هو اسم المتغير ، ولابد أن يكون مسبوقاً دائماً بعلامة ( @ ) في أي تعامل مع SQL Server ، وتمثل ( INT ) نوع المتغير لديك

-----------------------------------------

أما عن إسناد القيم لهذا المتغير فتكون مثلاً كالاتي:

الشكل العام للجملة هو:

استخدم
SET او SELECT ... لوضع قيمة ما داخل المتغير المحدد كما يلي


كود :
[color=#000000][COLOR=#0000bb]      SET[/color][color=#007700]|[/color][color=#0000bb]SELECT [/color][color=#007700]@<VAR [/color][color=#0000bb]NAME[/color][color=#007700]> = [/color][COLOR=#0000bb]VALUE  
[/COLOR][/COLOR]





والمثال كما يلي:



كود :
[color=#000000][COLOR=#0000bb]      SET [/color][color=#007700]@[/color][color=#0000bb]MyVar [/color][color=#007700]= [/color][COLOR=#0000bb]50  
[/COLOR][/COLOR]





وكي تلاحظ الإستفادة من تلك المعلومة ، فقم بنسخ الكود التالي في محرر SQL Server وقم بالتجربة الآن:



كود :
[color=#000000][COLOR=#007700]DECLARE @[/color][COLOR=#0000bb]MyVar INT

SELECT [/COLOR][color=#007700]@[/color][color=#0000bb]MyVar [/color][color=#007700]= [/color][COLOR=#0000bb]7

[/COLOR][color=#007700]PRINT @[/color][COLOR=#0000bb]MyVar  
[/COLOR][/COLOR]





أو المثال التالي ، والذي يرجع بعدد سجلات جدول معين ويضع العدد داخل جملة معينة بتنسيق معين كما يلي:


كود :
[color=#000000][COLOR=#007700]USE [[/color][color=#0000bb]ESHOP[/color][COLOR=#007700]]

DECLARE @[/COLOR][COLOR=#0000bb]MyVar INT

SELECT [/COLOR][color=#007700]@[/color][color=#0000bb]MyVar [/color][color=#007700]= ([/color][color=#0000bb]SELECT COUNT[/color][color=#007700](*) [/color][color=#0000bb]FROM PRODUCTS[/color][COLOR=#007700])

PRINT [/COLOR][color=#dd0000]'This table contains ' [/color][color=#007700]+ [/color][color=#0000bb]CONVERT[/color][color=#007700]([/color][color=#0000bb]VARCHAR[/color][color=#007700],@[/color][color=#0000bb]MyVar[/color][color=#007700]) + [/color][COLOR=#dd0000]' records'  
[/COLOR][/COLOR]



'


حيث (
ESHOP ) هو اسم قاعدة البيانات التي سأعمل عليها ، و ( PRODUCTS ) هو اسم الجدول المراد إرجاع عدد سجلاته


بالتوفيق للجميع ؛؛؛؛
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تحويل قاعدة بيانات من Access إلى SQL Server a_senan 6 5,885 13-09-17, 02:00 PM
آخر رد: HAIFA NUMAN
  عمل ملف Script لقاعدة بيانات SQL من داخل برنامج Visual Studio Sajad 1 2,378 29-05-17, 05:16 PM
آخر رد: mohamed gida
Question [SQL] sql server 2008 fragment Incubus 0 292 20-12-16, 12:10 AM
آخر رد: Incubus
  كورس SQL Server 2008ٌ2 بالعربي أحمد النجار 2 1,184 07-11-16, 04:29 PM
آخر رد: thevirus
  كيفية عمل ftb للاسيكوال سيرفر WAEL ABED 1 240 31-10-16, 05:04 AM
آخر رد: أبو عمر
  [مقال] النسخ الاحتياطي التلقائي - Auto Back Up SQL Server Databases ابو ليلى 2 691 07-09-16, 03:53 AM
آخر رد: ابو ليلى
  [سلسلة تعليمية] فيديو يلخص احتراف التعامل مع السيكوال سيرفر من البداية tarek 0 467 03-05-16, 04:00 AM
آخر رد: tarek
  [SQL] SQL SERVER 2012 adel27 1 837 21-12-15, 09:08 PM
آخر رد: عمر المستشار
  التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة Mr. DotNet 10 7,095 29-03-15, 12:31 PM
آخر رد: العيد1403
  استنتاج الارقام العشوائية في ال SQL Server عمر المستشار 1 1,479 01-06-14, 11:03 AM
آخر رد: Sajad

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم