تي-سكيول
عودة للموسوعةTransact-SQL (T-SQL) هوامتداد احتكاري لشركتي مايكروسوفت وسايبيز إلى إس كيوإل. وإس كيوإل هوواختصار للغة الاستعلامات البنيوية، وهي لغة حاسوب قياسية طُورت في الأصل على يد شركة آي بي إم للاستعلام، وتغيير وتحديد قواعد البيانات العلائقية، باستخدام عبارات اعلانية. يمتد T-SQL على مستوى لغة الاستعلامات البنيوية ليضم البرمجة الإجرائية، والمتغيرات المحلية ومختلف وظائف دعم معالجة السلسلة، ومعالجة التاريخ، والرياضيات وغيرهم، وأيضا تغييرات على جمل حذف وUPDATE. هذه الخصائص الإضافية تجعل Transact-SQ تام التورنغ. ان Transact-SQL هوأساسي لاستخدام خادم مايكروسوفت إس كيوإل. وجميع التطبيقات التي تتصل مع مثيل من خادم إس كيوإل تقوم بالتصال عن طريق إرسال جمل Transact-SQL إلى الخادم، بغض النظر عن قابلة المستخدم التابعة للتطبيق.
التحكم بالتدفق
تتضمن الحدثات الرئيسية للتحكم بالتدفق في BEGIN
وEND
وBREAK
, CONTINUE
وGOTO
وIF
and ELSE
وRETURN
, WAITFOR
وWHILE
.
تسمح IF وELSE بتطبيق مشروط. وهذه الجملة المُعدة ستقوم بطباعة " It is the weekend" إذا كان التاريخ الحالي هويوم عطلة نهاية الأسبوع، أو" It is a weekday" إذا كان التاريخ الحالي هويوم من أيام الأسبوع.
IF DATEPART(dw, GETDATE()) = 7 OR DATEPART(dw, GETDATE()) = 1
PRINT 'It is the weekend.'
ELSE
PRINT 'It is a weekday.'
ترمز BEGIN
وEND
إلى كتلة من الجمل. إذا كان التحكم في أكثر من جملة واحدة بواسطة الشرطي في المثال أعلاه، يمكننا استخدام BEGIN وEND كهذا:
IF DATEPART(dw, GETDATE()) = 7 OR DATEPART(dw, GETDATE()) = 1
BEGIN
PRINT 'It is the weekend.'
PRINT 'Get some rest!'
END
ELSE
BEGIN
PRINT 'It is a weekday.'
PRINT 'Get to work!'
END
وسوف تنتظر WAITFOR
لمدة محددة من الوقت، أوحتى وقت محدد من اليوم. ويمكن استعمال الجملة لتأخير أوعرقلة التطبيق حتى الوقت المحدد.
وتستخدم RETURN
في العودة إلى الوراء فورا من إجراء تخزيني أودالة.
تنهي BREAK
حلقة WHILE
، في حين تسبب CONTINUE
تطبيق التكرار التالي من الحلقة. تم إعطاء مثال من حلقة WHILE
أدناه.
DECLARE @i nvarchar(50)
SET @i = 0
WHILE @i < 5
BEGIN
PRINT 'Hello world.'
SET @i = @i + 1
END
تغييرات جمل DELETE وUPDATE
في Transact-SQL، كلا من جمل DELETE وUPDATE تسمح بإضافة تابعة FROM، والتي تسمح بإدراج المفاصل. يحذف هذا المثال كافة المستخدمين الذين تم وضع علامة "خمول" بجوارهم.
DELETE users
FROM users as u
JOIN user_flags as f
ON u.id=f.id
WHERE f.name = 'Idle'
BULK INSERT
BULK INSERT هي جملة في Transact-SQL تنفذ عملية تحميل البيانات الضخمة، وإدراج صفوف متعددة في جدول، وقراءة البيانات من ملف تسلسل خارجي. وينتج من جراء استخدام BULK INSERT أداء أفضل من العمليات التي تصدر قضية جمل INSERT فردية لكل صف يتم إضافته. المزيد من التفاصيل متاحة على الصفحة Microsoft's MSDN page.
انظر أيضا
- SQL (ANSI)
- SQL Server (Microsoft)
مراجع
- ^ "T-SQL Improvements in SQL Server 2012", Jonathan Allen on Mar 19, 2012, infoq.com نسخة محفوظة 08 أغسطس 2016 على مسقط واي باك مشين.
وصلات خارجية
- Sybase Transact-SQL User's Guide
- Transact-SQL Reference for SQL Server 2000 (MSDN)
- Transact-SQL Reference for SQL Server 2005 (MSDN)
- Transact-SQL Reference for SQL Server 2008 (MSDN)
التصنيفات: إس كيو إل, قالب أرشيف الإنترنت بوصلات واي باك, مقالات بحاجة لمصادر أكثر منذ ديسمبر 2017, جميع المقالات التي بحاجة لمصادر أكثر, جميع المقالات التي بحاجة لصيانة, بوابة مايكروسوفت/مقالات متعلقة, جميع المقالات التي تستخدم شريط بوابات