Danh mục

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

Số trang: 21      Loại file: pdf      Dung lượng: 403.38 KB      Lượt xem: 8      Lượt tải: 0    
tailieu_vip

Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

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.
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu: Lập trình trong SQL server - ThS. Nguyễn Ngọc Quỳnh ChâuLẬP TRÌNH TRONG SQL-SERVER 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: 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ênInt 4 bytes từ-2,147,483,648đến +2,147,483,647SmallInt 2 bytes từ -32768 đến +32767TinyInt 1 byte từ 0 đến 255Bit 1 byte 0, 1 hoặc Null> Các kiểu dữ liệu dạng số thập phânDecimal, 17bytes từ -10^38 đến +10^38Numeric> Các kiểu dữ liệu dạng số thựcFloat 8 bytes từ -1.79E+308 đến +1.79E+308Real 4 bytes từ -3.40E+38 đến +3.40E+38> Các kiểu dữ liệu dạng chuỗi có độ dài cố địnhChar 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 đổiVarChar 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ữ UnicodeNChar 2*N bytes từ 1 đến 4000 ký tự, mỗi ký tự là 2 bytesNVarChar 2*N bytes từ 1 đến 4000 ký tự, mỗi ký tự là 2 bytes> 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.5807SmallMoney 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/9999SmallDateTime 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 bytesVarBinary N bytes từ 1 đến 8000 bytesImage N bytes từ 1 đến 2,147,483,647 bytes 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 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): 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.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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’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 floatSELECT @luong_tb=avg(luong) FROM NHANVIEN WHERE MAP=‘KT’Để 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 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: >, =, declare @luong1 float, @luong2 floatselect @luong1= AVG(luong) from Nhanvien where MaDV=0001select @luong2= AVG(luong)from Nhanvien where MaDV=0002if @luong1>@luong2 begin print Luong trung binh don vi 1 lon hon don vi 2 la: print abs(@luong1-@luong2) endelse print Luong trung binh don vi 2 lon hon don vi 1 la: + convert(chAR(20), abs(@luong1-@luong2))GO VÒNG LẶP WHILECú 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Ví dụ DECLARE @count int =10 WHILE @count>=0 BEGIN PRINT ‘Hello’ SET @count=@count-1 if @count TỪ KHÓA RETURNTừ ...

Tài liệu được xem nhiều: