Bài giảng Cơ sở dữ liệu: Lập trình trong SQL server cung cấp cho người học các kiến thức: Kiểu dữ liệu trong SQL server, hàm trong SQL server, biến cục bộ, vòng lặp while, từ khóa return, thủ tục nội tại,... Mời các bạn cùng tham khảo nội dung chi tiết.
LẬP TRÌNH TRONG SQL-SERVER KIỂU DỮ LiỆU TRONG SQL-SERVER Kiểu liệu định kiểu liệu dung lượng lưu trữ đối tượng SQL Server hỗ trợ số kiểu liệu cài đặt sẵn sau: Kiểu liệu Kích thước Miền giá trị liệu lưu trữ > Các kiểu liệu dạng số nguyên Int bytes từ-2,147,483,648đến +2,147,483,647 SmallInt bytes từ -32768 đến +32767 TinyInt byte từ đến 255 Bit byte 0, Null > Các kiểu liệu dạng số thập phân Decimal, Numeric 17bytes từ -10^38 đến +10^38 > Các kiểu liệu dạng số thực Float bytes từ -1.79E+308 đến +1.79E+308 Real bytes từ -3.40E+38 đến +3.40E+38 > Các kiểu liệu dạng chuỗi có độ dài cố định Char N bytes từ đến 8000 ký tự, ký tự byte > Các kiểu liệu dạng chuỗi có độ dài biến đổi VarChar N bytes từ đến 8000 ký tự, ký tự byte > Các kiểu liệu dạng chuỗi dùng font chữ Unicode NChar 2*N bytes từ đến 4000 ký tự, ký tự bytes NVarChar 2*N bytes từ đến 4000 ký tự, ký tự bytes > Các kiểu liệu dạng tiền tệ Money bytes từ -922,337,203,685,477.5808 +922,337,203,685,477.5807 SmallMoney bytes từ -214,748.3648 đến + 214,748.3647 > Các kiểu liệu dạng ngày DateTime bytes từ01/01/1753đến31/12/9999 SmallDateTime bytes từ01/01/1900đến06/06/2079 > Các kiểu liệu dạng chuỗi nhị phân (Binary String) Binary N bytes từ đến 8000 bytes VarBinary N bytes từ đến 8000 bytes Image N bytes từ đến 2,147,483,647 bytes đến HÀM TRONG SQL SERVER Aggregate functions: sum(), min(), max(), avg() Hàm chuyển đổi: convert() declare @x money set @x=30000 select 'Luong nhan vien A la: ' + convert(char(10), @x) Các hàm ngày tháng Getdate(): cho biết ngày tháng Dateadd(datepart, number, date): để thêm ngày/tháng/năm vào date Datediff(datepart, date1, date2): tính khoảng cách date2-date1 Datename(datepart, date): cho biết tên tiếng Anh ngày tháng Datepart(datepart, date): BiẾN CỤC BỘ Biến đối tượng để chứa liệu Gọi biến cục phạm vi hoạt động biến nằm thủ tục, hàm lơ có chứa lệnh khai báo biến Một lơ lệnh (batch) câu lệnh liên tiếp kết thúc từ khóa GO: Những câu lệnh nằm batch xử lý lúc Lệnh GO dùng để gửi tín hiệu đến cho SQL SERVER biết kết thúc batch job yêu cầu thực thi Tên biến cục phải bắt đầu @ Cách khai báo: DECLARE @tên_biến kiểu liệu Ví dụ: DECLARE @hoten nchar(20) DECLARE @diachi nchar(50) DECLARE @luong float, @ngaysinh datetime Chú ý: kiểu liệu text, ntext image không chấp nhận khai báo biến Từ khóa SET hay SELECT dùng để gán giá trị cho biến Cú pháp SET @tên_biến = giá_trị SELECT @tên_biến = giá_trị Ví dụ: SET @hoten=N’Nguyễn Thị Thái’ Ví dụ: Tính lương trung bình nhân viên phòng ‘KT’ DECLARE @luong_tb float SELECT @luong_tb=avg(luong) FROM NHANVIEN WHERE MAP=‘KT’ Để hiển thị giá trị biến: PRINT @tên_biến Ví dụ: tính lương cao nhất, lương thấp phòng ‘KT’ Hiển thị kết hình DECLARE @min_luong float, @max_luong float SELECT @min_luong=min(luong), @max_luong=max(luong) FROM NHANVIEN PRINT ‘Luong cao nhat la: ‘ + convert (char(10), @min_luong) PRINT @max_luong CÂU LỆNH IF…ELSE Cú pháp IF điều_kiện BEGIN tập_lệnh END ELSE BEGIN tập_lệnh END Các toán tử logic: AND, OR, NOT Các toán tử so sánh: >, < =, >=, @luong2 begin print 'Luong trung binh don vi lon hon don vi la: ' print abs(@luong1-@luong2) end else print 'Luong trung binh don vi lon hon don vi la: '+ convert(chAR(20), abs(@luong1-@luong2)) GO VÒNG LẶP WHILE Cú pháp: WHILE điều_kiện BEGIN tập_lệnh END Tập lệnh thực biểu thức điều kiện có giá trị FALSE Có thể dùng lệnh BREAK để khỏi vịng lặp Ví dụ DECLARE @count int =10 WHILE @count>=0 BEGIN PRINT ‘Hello’ SET @count=@count-1 if @count