تعريف وتعيين المتغيرات والمرادفات

مكتمل

في T-SQL، كما هو الحال مع لغات البرمجة الأخرى، المتغيرات هي كائنات تسمح بالتخزين المؤقت لقيمة لاستخدامها لاحقا. لقد واجهت بالفعل متغيرات عند استخدامها لتمرير قيم المعلمات إلى الإجراءات والوظائف المخزنة.

في T-SQL، يجب تعريف المتغيرات قبل أن يمكن استخدامها. قد يتم تعيين قيمة لهم، أو تهيئتها، عند الإعلان عنها. يتضمن الإعلان عن متغير توفير اسم ونوع بيانات، كما هو موضح أدناه. للإعلان عن متغير، يجب استخدام عبارة DECLARE.

--Declare and initialize the variables.
DECLARE @numrows INT = 3, @catid INT = 2;
--Use variables to pass the parameters to the procedure.
EXEC Production.ProdsByCategory @numrows = @numrows, @catid = @catid;
GO

يجب الإعلان عن المتغيرات في نفس الدفعة التي تتم الإشارة إليها فيها. بمعنى آخر، جميع متغيرات T-SQL محلية في نطاق الدفعة، سواء في الرؤية أو العمر. يمكن أن ترى العبارات الأخرى فقط في نفس الدفعة متغيرا معلنا في الدفعة. يتم إتلاف المتغير تلقائيا عند انتهاء الدفعة.

العمل مع المتغيرات

بمجرد الإعلان عن متغير، يجب تهيئته، أو تعيين قيمة له. يمكنك القيام بذلك بثلاث طرق:

  • في SQL Server 2008 أو أحدث، يمكنك تهيئة متغير باستخدام عبارة DECLARE.
  • في أي إصدار من SQL Server، يمكنك تعيين قيمة واحدة (عددية) باستخدام عبارة SET.
  • في أي إصدار من SQL Server، يمكنك تعيين قيمة إلى متغير باستخدام عبارة SELECT. تأكد من أن عبارة SELECT ترجع صفا واحدا بالضبط. ستترك النتيجة الفارغة المتغير بقيمته الأصلية؛ سترجع أكثر من نتيجة واحدة النتيجة الأخيرة.

يوضح المثال التالي الطرق الثلاث للإعلان عن القيم وتعيينها للمتغيرات:

DECLARE @var1 AS INT = 99;
DECLARE @var2 AS NVARCHAR(255);
SET @var2 = N'string';
DECLARE @var3 AS NVARCHAR(20);
SELECT @var3 = lastname FROM HR.Employees WHERE empid=1;
SELECT @var1 AS var1, @var2 AS var2, @var3 AS var3;
GO

يؤدي هذا إلى إنشاء النتائج التالية.

var1 var2 var3
99 خيط ديفيس

تلميح

للحصول على إرشادات كاملة حول المتغيرات المحلية، راجع الوثائق المرجعية T-SQL.

العَمَل مع المرادفات

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

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

إشعار

يمكنك إنشاء مرادف يشير إلى كائن غير موجود بعد. يسمى هذا تحليل الاسم المؤجل. لن يتحقق محرك SQL Server من وجود الكائن الفعلي حتى يتم استخدام المرادف في وقت التشغيل.

لإدارة المرادفات، استخدم أوامر لغة تعريف البيانات (DDL) CREATE SYNONYM وALTER SYNONYM وDROP SYNONYM، كما في المثال التالي:

CREATE SYNONYM dbo.ProdsByCategory FOR TSQL.Production.ProdsByCategory;
GO
EXEC dbo.ProdsByCategory @numrows = 3, @catid = 2;

لإنشاء مرادف، يجب أن يكون لديك إذن "CREATE SYNONYM" بالإضافة إلى إذن لتغيير المخطط الذي سيتم تخزين المرادف فيه.

إشعار

لإنشاء مرادف، يجب أن يكون لدى المستخدم إذن CREATE SYNONYM وإما أن يكون لديه إذن ALTER SCHEMA في مخطط الوجهة.

المرادف هو كائن "فارغ" يتم حله إلى الكائن المصدر عند الإشارة إليه في وقت التشغيل.