PL-SQL va T-SQL
T-SQL (Transact SQL) - Microsoft tomonidan ishlab chiqilgan SQL kengaytmasi. T-SQL Microsoft SQL Serverda ishlatiladi. PL/SQL (Protsessual til/Structured Query Language) ham Oracle tomonidan ishlab chiqilgan SQL uchun protsessual kengaytma hisoblanadi. PL/SQL - Oracle ma'lumotlar bazasiga o'rnatilgan asosiy dasturlash tili.
PL/SQL
PL/SQL Oracle tomonidan ishlab chiqilgan SQL uchun protsessual kengaytmadir. PL/SQL dasturlari PL/SQL ning asosiy birligi bo'lgan bloklardan tashkil topgan. PL/SQL o'zgaruvchilar, tsikllar (WHILE tsikllari, FOR tsikllari va kursor FOR tsikllari), shartli bayonotlar, istisnolar va massivlarni qo'llab-quvvatlaydi. PL/SQL dasturida SQL bayonotlari mavjud. Ushbu SQL operatorlari SELECT, INSERT, UPDATE, DELETE va hokazolarni o'z ichiga oladi. CREATE, DROP yoki ALTER kabi SQL operatorlari PL/SQL dasturlarida ruxsat etilmaydi. PL/SQL funktsiyalari PL/SQL va SQL bayonotlarini o'z ichiga olishi mumkin va u qiymatni qaytaradi. Boshqa tomondan, PL/SQL protseduralari SQL bayonotlarini o'z ichiga olmaydi va u qiymatni qaytarmaydi. PL/SQL shuningdek, inkapsulyatsiya, funksiyani haddan tashqari yuklash va ma'lumotlarni yashirish kabi ob'ektga yo'n altirilgan dasturlash tushunchalarini ham qo'llab-quvvatlaydi. Ammo bu merosni qo'llab-quvvatlamaydi. PL/SQL da paketlar funksiyalar, protseduralar, o'zgaruvchilar va hokazolarni guruhlash uchun ishlatilishi mumkin. Paketlar kodni qayta ishlatishga imkon beradi. Oracle serverida PL/SQL kodidan foydalanish unumdorlikni oshirishga olib keladi, chunki Oracle serveri PL/SQL kodini amalda bajarishdan oldin uni oldindan kompilyatsiya qiladi.
T-SQL
T-SQL Microsoft tomonidan ishlab chiqilgan SQL kengaytmasidir. T-SQL protsessual dasturlash, mahalliy o'zgaruvchilar va string/ma'lumotlarni qayta ishlash uchun yordamchi funktsiyalar kabi bir nechta xususiyatlarni qo'shish orqali SQLni kengaytiradi. Bu xususiyatlar T-SQL Turingni to'liq qiladi. Microsoft SQL serveri bilan bog'lanishi kerak bo'lgan har qanday dastur Microsoft SQL Serverga T-SQL bayonotini yuborishi kerak. T-SQL quyidagi kalit so'zlar yordamida oqimni boshqarish imkoniyatlarini taqdim etadi: BEGIN va END, BREAK, CONTINUE, GOTO, IF va ELSE, RETURN, WAITFOR va WHILE. Bundan tashqari, T-SQL DELETE va UPDATE iboralariga FROM bandini qo'shish imkonini beradi. Ushbu FROM bandi DELETE va UPDATE iboralariga birlashmalarni kiritish imkonini beradi. T-SQL shuningdek, BULK INSERT iborasi yordamida jadvalga bir nechta qatorlarni kiritish imkonini beradi. Bu ma'lumotlarni o'z ichiga olgan tashqi faylni o'qish orqali jadvalga bir nechta qatorlarni kiritadi. BULK INSERT dan foydalanish kiritilishi kerak bo'lgan har bir qator uchun alohida INSERT iboralarini ishlatishdan ko'ra unumdorlikni yaxshilaydi.
PL/SQL va T-SQL o'rtasidagi farq nima?
PL/SQL - bu Oracle tomonidan taqdim etilgan SQL-ning protsessual kengaytmasi va u Oracle ma'lumotlar bazasi serverida ishlatiladi, T-SQL esa Microsoft tomonidan ishlab chiqilgan SQL kengaytmasi bo'lib, u asosan Microsoft SQL Server bilan qo'llaniladi. PL/SQL va T-SQL-dagi ma'lumotlar turlari o'rtasida ba'zi farqlar mavjud. Masalan, T-SQLda DATETIME va SMALL-DATETIME deb nomlangan ikkita ma'lumot turi mavjud, PL/SQLda esa DATE deb nomlangan bitta ma'lumot turi mavjud. Bundan tashqari, PL/SQL da DECODE funksiyasining funksiyasini olish uchun T-SQL da CASE operatoridan foydalanish kerak. Bundan tashqari, T-SQL da SELECT INTO iborasi oʻrniga PL/SQL da INSERT INTO operatoridan foydalanish kerak. PL/SQLda MINUS operatori mavjud bo'lib, undan SELECT iboralari bilan foydalanish mumkin. T-SQL da bir xil natijalarni SELECT iboralari bilan NOT EXISTS bandidan foydalanish orqali olish mumkin.