intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Cơ sở dữ liệu: Lập trình trong SQL server - ThS. Nguyễn Ngọc Quỳnh Châu

Chia sẻ: Minh Vũ | Ngày: | Loại File: PDF | Số trang:21

38
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Cơ sở dữ liệu: Lập trình trong SQL server - ThS. Nguyễn Ngọc Quỳnh Châu

  1. LẬP TRÌNH TRONG SQL-SERVER
  2. KIỂU DỮ LiỆU TRONG SQL-SERVER Kiểu dữ liệu chỉ định kiểu của dữ liệu và dung lượng có thể lưu trữ của một đối tượng SQL Server hỗ trợ một số kiểu dữ liệu được cài đặt sẵn như sau:
  3. Kiểu dữ liệu Kích Miền giá trị dữ liệu lưu trữ thước > Các kiểu dữ liệu dạng số nguyên Int 4 bytes từ-2,147,483,648đến +2,147,483,647 SmallInt 2 bytes từ -32768 đến +32767 TinyInt 1 byte từ 0 đến 255 Bit 1 byte 0, 1 hoặc Null > Các kiểu dữ liệu dạng số thập phân Decimal, 17bytes từ -10^38 đến +10^38 Numeric > Các kiểu dữ liệu dạng số thực Float 8 bytes từ -1.79E+308 đến +1.79E+308 Real 4 bytes từ -3.40E+38 đến +3.40E+38
  4. > Các kiểu dữ liệu dạng chuỗi có độ dài cố định Char N bytes từ 1 đến 8000 ký tự, mỗi ký tự là một byte > Các kiểu dữ liệu dạng chuỗi có độ dài biến đổi VarChar N bytes từ 1 đến 8000 ký tự, mỗi ký tự là 1 byte > Các kiểu dữ liệu dạng chuỗi dùng font chữ Unicode NChar 2*N bytes từ 1 đến 4000 ký tự, mỗi ký tự là 2 bytes NVarChar 2*N bytes từ 1 đến 4000 ký tự, mỗi ký tự là 2 bytes
  5. > Các kiểu dữ liệu dạng tiền tệ Money 8 bytes từ -922,337,203,685,477.5808 đến +922,337,203,685,477.5807 SmallMoney 4 bytes từ -214,748.3648 đến + 214,748.3647 > Các kiểu dữ liệu dạng ngày và giờ DateTime 8 bytes từ01/01/1753đến31/12/9999 SmallDateTime 4 bytes từ01/01/1900đến06/06/2079 > Các kiểu dữ liệu dạng chuỗi nhị phân (Binary String) Binary N bytes từ 1 đến 8000 bytes VarBinary N bytes từ 1 đến 8000 bytes Image N bytes từ 1 đến 2,147,483,647 bytes
  6. 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)
  7. Các hàm ngày tháng Getdate(): cho biết ngày tháng hiện tại 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 của date2-date1 Datename(datepart, date): cho biết tên tiếng Anh của ngày tháng Datepart(datepart, date):
  8. BiẾN CỤC BỘ Biến là một đối tượng để chứa dữ liệu Gọi là biến cục bộ vì phạm vi hoạt động của biến chỉ nằm trong một thủ tục, một hàm hoặc một lô có chứa lệnh khai báo biến đó. Một lô lệnh (batch) là các câu lệnh liên tiếp nhau và được kết thúc bằng từ khóa GO:  Những câu lệnh nằm trong cùng batch sẽ được xử lý cùng lúc  Lệnh GO dùng để gửi tín hiệu đến cho SQL SERVER biết đã kết thúc một batch job và yêu cầu thực thi.
  9. Tên các biến cục bộ phải bắt đầu bằng @ Cách khai báo: DECLARE @tên_biến kiểu dữ liệu Ví dụ: DECLARE @hoten nchar(20) DECLARE @diachi nchar(50) DECLARE @luong float, @ngaysinh datetime
  10. Chú ý: kiểu dữ liệu text, ntext hoặc image không được chấp nhận khi khai báo biến Từ khóa SET hay SELECT được dùng để gán giá trị cho biến Cú pháp SET @tên_biến = giá_trị hoặc SELECT @tên_biến = giá_trị Ví dụ: SET @hoten=N’Nguyễn Thị Thái’
  11. Ví dụ: Tính lương trung bình của các nhân viên của phòng ‘KT’ DECLARE @luong_tb float SELECT @luong_tb=avg(luong) FROM NHANVIEN WHERE MAP=‘KT’
  12. Để hiển thị giá trị của biến: PRINT @tên_biến Ví dụ: tính lương cao nhất, lương thấp nhất của phòng ‘KT’. Hiển thị kết quả ra màn 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
  13. 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
  14. Các toán tử logic: AND, OR, NOT Các toán tử so sánh: >, =,
  15. declare @luong1 float, @luong2 float select @luong1= AVG(luong) from Nhanvien where MaDV='0001' select @luong2= AVG(luong)from Nhanvien where MaDV='0002' if @luong1>@luong2 begin print 'Luong trung binh don vi 1 lon hon don vi 2 la: ' print abs(@luong1-@luong2) end else print 'Luong trung binh don vi 2 lon hon don vi 1 la: '+ convert(chAR(20), abs(@luong1-@luong2)) GO
  16. VÒNG LẶP WHILE Cú pháp: WHILE điều_kiện BEGIN tập_lệnh END Tập lệnh sẽ được thực hiện cho đến khi biểu thức điều kiện có giá trị FALSE Có thể dùng lệnh BREAK để thoát khỏi vòng lặp
  17. Ví dụ DECLARE @count int =10 WHILE @count>=0 BEGIN PRINT ‘Hello’ SET @count=@count-1 if @count
  18. TỪ KHÓA RETURN Từ khóa RETURN được sử dụng ở một ví trí bất kỳ để thoát ra khỏi khối hoặc thủ tục Những câu lệnh đằng sau RETURN sẽ không được thực hiện
  19. THỦ TUC NỘi TẠI Là một “chương trình con” của SQL Server La tập hợp các câu lệnh T-SQL được biên dịch trước SP được dặt tên và được xử lý như một khối lệnh thống nhất Ưu điểm của SP:  Tối ưu hóa tốc độ truy vấn trong SQL Server  Tính module hóa, tái sử dụng một cách dễ dàng Có thể có các tham số vào, tham số ra và có thể trả về kết quả
  20. Cú pháp CREATE PROCEDURE | PROC Danh sách các tham số AS BEGIN tập lệnh END
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2