random

آخر الأخبار

random
جاري التحميل ...

المتغيرات Variables في لغة ترانزأكشن سيكوال

المتغيرات هى عبارة عن عناصر يتم تحديد أو توجيه قيم إليها ، ويمكن استخدام المتغيرات الداخلية Local Variables فى ترانزاكشن سيكوال .


تعرف المتغيرات الداخلية في لغة ترانزأكشن سيكوال من قبل المستخدم فى عبارة توضيح Declare Statements ويتم توجيه قيم أولية إليها باستخدام عبارة Set أو عبارة Select .
يعمل المتغير الداخلى فقط فى الباتش أو ترانزأكشن سيكوال المعرف به فقط ، ويميز المتغير الداخلى باستخدام الرمز (@) فى بداية اسمه أو هويته .

الصيغة العامة:

يتبع إنشاء المتغيرات الداخلية الصيغة العامة التالية :

DECLARE {@local_variable data_type} [,...n]
SET @local_variable_name = expression

مثال:

USE northwind
DECLARE  @EmpID  varchar(11)
        ,@vlName char(20)
SET @vlname = 'Dodsworth'
SELECT @EmpID = employeeid
 FROM  employees
 WHERE LastName = @vlname
SELECT @EmpID AS EmployeeID
GO

فى المثال السابق تم إنشاء متغييرين داخليين هما @EmpID و @vlname ، وتم توجيه قيمة للمتغير @EmpID ، ثم تم توجيه قيمة للمتغير @vlname عن طريق الاستعلام عن جدول الموظفين Employees فى قاعدة بيانات Northwind لتحديد السجل الذى يحتوى قيمة المتغير الداخلى @vlname .
عند تنفيذ الاستعلام فى محلل الاستعلامات Query Analyzer يتم إرجاع كود الموظف كما بالشكل التالى .

دوال النظام System Functions:

يمكن استخدام الدوال بما فيها دوال النظام فى أى مكان فى ترانزأكشن سيكوال الذى يمد بالعديد من الدوال التى ترجع المعلومات ، تحتاج بعض الدوال إلى معاملات إدخال Input Parameters وترجع قيم يمكن استخدامها داخل التعبيرات ، والبعض الآخر من الدوال يرجع معلومات بدون معاملات إدخال .
يستخدم ترانزأكشن سيكوال ثلاثة أنواع من الدوال هى الدوال الإجمالية Aggregate Functions ، والدوال المحجمة Scalar Functions ، ودوال أوضاع الصفوف Rowset Functions .
أمثلة لدوال النظام:
يمكن أن تستخدم دوال النظام لتغيير أو تحويل تنسيقات البيانات مثل تنسيقات التاريخ .
يعرض المثال التالى كيفية عرض التاريخ فى تنسيقات مختلفة .

SELECT 'ANSI:', CONVERT (varchar(30), GETDATE(), 102) AS Style 
UNION
SELECT 'Japanese:', CONVERT(varchar(30), GETDATE(), 111) 
UNION
SELECT 'European:', CONVERT(varchar(30), GETDATE(), 113)
GO

عند تنفيذ المثال السابق يعرض المخرجات كما بالشكل التالى :
OUTPUT:

Style   
European:  20 Nov 1998 16:44:12:857
Japanese: 11/20/98
ANSI: 1998.11.20

مثال آخر:
يستخدم المثال التالى خيار DATEFORMAT لتحديد تنسيق عرض التاريخ باليوم والشهر والسنة .

SET DATEFORMAT dmy
GO
DECLARE @vdate datetime
SET @vdate = '21/11/04'
SELECT @vdate
GO
يخرج المثال عند تنفيذه النتيجة التالية .

OUTPUT:

2004-11-21 00:00:00.000

مثال آخر:

يستخدم المثال التالى لإرجاع اسم المستخدم الحالى واسم التطبيق المستخدم لتشغيل الاستعلام الحالى .

USE pubs
SELECT user_name(), app_name()
GO
OUTPUT:
dbo            SQL Query Analyzer

عن الكاتب

Ahmed Shahen

التعليقات


اتصل بنا

إذا أعجبك محتوى مدونتنا نتمنى البقاء على تواصل دائم ، فقط قم بإدخال بريدك الإلكتروني للإشتراك في بريد المدونة السريع ليصلك جديد المدونة أولاً بأول ، كما يمكنك إرسال رساله بالضغط على الزر المجاور ...

جميع الحقوق محفوظة

دورات تكنولوجيا المعلومات والتسويق الإلكتروني