1. Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
NGÔN NGỮ LẬPNGÔN NGỮ LẬP
TRÌNH TTRÌNH T SQLSQLTRÌNH TTRÌNH T--SQLSQL
Trần Ngọc Bảo
Email: tnbao.dhsp@gmail.com
2. UU
NGÔN NGỮ LẬP TRÌNH T-SQLNGÔN NGỮ LẬP TRÌNH T-SQL
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (22))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (22))
3. UU
NGÔN NGỮ LẬP TRÌNH T-SQLNGÔN NGỮ LẬP TRÌNH T-SQL
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (33))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (33))
4. UU
NGÔN NGỮ LẬP TRÌNH T-SQLNGÔN NGỮ LẬP TRÌNH T-SQL
SELECT <D h á h á ột đ h >
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
SELECT <Danh sách các cột được chọn>
FROM < Danh sách các bảng>
WHERE <Điều kiện chọn>
GROUP BY <Danh sách cột cần nhóm>
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
ộ
HAVING < Điều kiện nhóm>
ORDER BY < Danh sách cột cần sắp xếp>
Vd1: Cho quan hệ HocSinh(MaHS, TenHS, NgaySinh, DiaChi)
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Vd1: Cho quan hệ HocSinh(MaHS, TenHS, NgaySinh, DiaChi)
Yêu cầu Liệt kê tên và ngày sinh của tất cả các học sinh
SELECT TenHS, NgaySinh
FROM HocSinh
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
FROM HocSinh
Vd2 : Cho quan hệ HoaDon(MaHD, TenKH, SoLuong, DonGia)
Yêu cầu Liệt kê Hoá đơn của khách hàng và Thuế VAT của hóa đơn đó
với VAT được tính bằng như sau: VAT = số lượng * đơn giá * 10%
BÀIGIẢNBÀIGIẢN
NGNG
với VAT được tính bằng như sau: VAT số lượng đơn giá 10%
Nhận xét: Thuế VAT không phải là filed trong DB, nó là kết quả của biểu
thức SoLuong * DonGia * 10%
SELECT MaHD TenKH Soluong * DonGia * 0 1 as VAT
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (44))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (44))
SELECT MaHD, TenKH, Soluong DonGia 0.1 as VAT
FROM HoaDon
5. UU
NGÔN NGỮ LẬP TRÌNH T-SQLNGÔN NGỮ LẬP TRÌNH T-SQL
Câu lệnh INSERT
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
Câu lệnh INSERT
Cú pháp
INSERT INTO < TableName> <ColumnList>
VALUES < Value1, Value2,... >
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
Ví dụ: Cho quan hệ
HocSinh(MaHS, TenHS, NgaySinh, DiaChi)
Yêu cầu : Thêm bộ sau vào Table học sinh (‘001’ ’Nguyen Van
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Yêu cầu : Thêm bộ sau vào Table học sinh ( 001 , Nguyen Van
A’,’08/20/2002’,’a’)
INSERT INTO HocSinh
VALUES (‘001’,’Nguyen Van A’,’08/20/2002’,’a’)
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (55))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (55))
6. UU
NGÔN NGỮ LẬP TRÌNH T-SQLNGÔN NGỮ LẬP TRÌNH T-SQL
Câu lệnh UPDATE
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
Câu lệnh UPDATE
Cú pháp
UPDATE < Tên bảng>
SET Tên cột 1 = giá trị ,
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
Tên cột = giá trị , ...
WHERE < điều kiện>
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Câu lệnh DELETE
Cú pháp
DELETE FROM < Tên bảng>
WHERE < điều kiện>
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
WHERE < điều kiện>
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (66))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (66))
7. UU
SQL Server Object - ViewsSQL Server Object - Views
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (77))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (77))
9. UU
VIEW – BẢNG ẢO
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
CREATE VIEW TENVIEW
AS
[CÂU LỆNH TRUY VẤN DỮ LIỆU]
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
[CÂU LỆNH TRUY VẤN DỮ LIỆU]
CREATE VIEW V1
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
CREATE VIEW V1
AS
SELECT MASV,HOTEN, NGAYSINH, MANGANH
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
FROM SINHVIEN
WHERE PHAI = ‘NAM’
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (99))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (99))
10. UU
VIEW – Bảng ảo
MASV HOTEN NGAYSINH MaNganh
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
MASV HOTEN NGAYSINH MaNganh
K29.101.001 Nguyen Cong Phu 10/10/1979 SP101
K29.101.002 Phan Anh Khanh 1/10/1979 SP101
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
K29.101.002 Phan Anh Khanh 1/10/1979
K29.103.001 Han Quoc Viet 3/2/1979 SP103
K29.103.002 Pham Khanh Nhu 10/12/1979 SP103
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
K29.201.001 Ly Thanh 3/8/1979 SP201
K29.201.002 Tran Ngoc Dung 4/5/1979 SP201
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
K29.104.001 Ho Anh Thu 1/4/1979 SP104
SELECT MASV, HO + ‘ ’ + TEN as HoTen, NGAYSINH, MANGANH
FROM SINHVIEN
BÀIGIẢNBÀIGIẢN
NGNG
FROM SINHVIEN
CREATE VIEW vSVien AS
SELECT MASV HO + ‘ ’ + TEN as HoTen NGAYSINH NGAYSINH
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1010))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1010))
SELECT MASV, HO + + TEN as HoTen, NGAYSINH, NGAYSINH
FROM SINHVIEN vSVien chính làvSVien chính là VIEWVIEW
11. UU
Truy vấn thông tin
NGANH (MANGANH, TENNGANH, SOCD, TSSV)
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
MASV HO TEN PHAI NGAYSINH MANGA
NH
K29.101.
001
Nguyen Cong Phu Nam 10/10/1979 SP101
K29 101 Ph A h Kh h N 1/10/1979 SP101
MANGANH TENNGANH SOCD TSSV
SP103 Sư Phạm Tin học 8 800
SP101 Sư Phạm Toán 5 1000
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
K29.101.
002
Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.
001
Han Quoc Viet Nam 3/2/1979 SP103
K29.103.
002
Pham Khanh Nhu Nu 10/12/1979 SP103
SP101 Sư Phạm Toán 5 1000
SP201 Sư Phạm Hóa 3 1500
SP102 Sư Phạm Lý 4 1200
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
K29.201.
001
Ly Thanh Nam 3/8/1979 SP201
K29.201.
002
Tran Ngoc Dung Nu 4/5/1979 SP201
K29 104 Ho Anh Thu Nu 1/4/1979 SP104
CNTT Khoa học máy tính 8 160
SP104 Sư Phạm Sinh 6 1000
SP105 Sư h A h 2 1100
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
K29.104.
001
Ho Anh Thu Nu 1/4/1979 SP104 SP105 Sư phạm Anh 2 1100
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh, TENNGANH)
sinh viên
BÀIGIẢNBÀIGIẢN
NGNG
SELECT MASV, HO + ‘ ’ + TEN as HoTen, NGAYSINH, TENNGANH
FROM SINHVIEN JOIN NGANH ON SINHVIEN.MANGANH =
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1111))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1111))
NGANH.MANGANH
12. UU
Truy vấn thông tin từ View
Kết quả truy vấn từ: vSVien
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
MANGANH TENNGANH SOCD TSSV
SP103 Sư Phạm Tin học 8 800
MASV HOTEN NGAYSINH MaNganh
K29.101.001 Nguyen Cong Phu 10/10/1979 SP101
Kết quả truy vấn từ: vSVien
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
SP101 Sư Phạm Toán 5 1000
SP201 Sư Phạm Hóa 3 1500
SP102 Sư Phạm Lý 4 1200
K29.101.002 Phan Anh Khanh 1/10/1979 SP101
K29.103.001 Han Quoc Viet 3/2/1979 SP103
K29 103 002 Pham Khanh Nhu 10/12/1979 SP103
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
SP102 Sư Phạm Lý 4 1200
CNTT Khoa học máy tính 8 160
SP104 Sư Phạm Sinh 6 1000
K29.103.002 Pham Khanh Nhu 10/12/1979 SP103
K29.201.001 Ly Thanh 3/8/1979 SP201
K29.201.002 Tran Ngoc Dung 4/5/1979 SP201
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
SP105 Sư phạm Anh 2 1100
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh, TENNGANH)
sinh viên
K29.104.001 Ho Anh Thu 1/4/1979 SP104
BÀIGIẢNBÀIGIẢN
NGNG
sinh viên
SELECT MASV, HoTen, NGAYSINH, TENNGANH
FROM vSVIEN JOIN NGANH ON SVIEN MANGANH =
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1212))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1212))
FROM vSVIEN JOIN NGANH ON SVIEN.MANGANH
NGANH.MANGANH
13. UU
ầ ấ
VIEW & SUBQUERYSỞDỮLiỆSỞDỮLiỆUU
SQLSQL
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
MASV HOTEN PHAI NGAYSINH MANGANH MANGANH TENNGANH SOCD TSSV
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
SP103 Sư Phạm Tin học 8 800
SP101 Sư Phạm Toán 5 1000
SP201 Sư Phạm Hóa 3 1500
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
SP102 Sư Phạm Lý 4 1200
CNTT Khoa học máy tính 8 160
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
SP104 Sư Phạm Lý 6 1000
SP105 Sư phạm Anh 2 1100
BÀIGIẢNBÀIGIẢN
NGNG
MASV HOTEN NGAYSINH
K29.103.001 Han Quoc Viet 3/2/1979
Kết quả truy vấn: 1 dòng
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1313))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1313))1313
K29.103.001 Han Quoc Viet 3/2/1979
14. UU
View & SubQuery
ầ ấ
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
3 Cách 3:
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
3. Cách 3:
SELECT MASV, HOTEN, NGAYSINH
FROM
(SELECT MASV,HOTEN, NGAYSINH, MANGANH
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
( , , ,
FROM SINHVIEN
WHERE PHAI = ‘NAM’) AS SV JOIN
(SELECT MANGANH
FROM NGANH
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
FROM NGANH
WHERE TENNGANH = ‘Sư phạm Tin học’) AS N
ON SV.MANGANH = N.MANGANH
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1414))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1414))1414
15. UU
View & SubQuery
SELECT MASV, HOTEN, NGAYSINH
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
FROM
(SELECT MASV,HOTEN, NGAYSINH, MANGANH
FROM SINHVIEN
WHERE PHAI = ‘NAM’) AS SV JOIN
(SELECT MANGANH
FROM NGANH
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
WHERE TENNGANH = ‘Sư phạm Tin học’) AS N
ON SV.MANGANH = N.MANGANH
Tạo View V1 bằng cách chọnTạo View V1 bằng cách chọn
các dòngcác dòng [MASV HOTEN[MASV HOTEN
CREATE VIEW V1
AS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
các dòngcác dòng [MASV, HOTEN,[MASV, HOTEN,
NGAYSINH, MANGANH]NGAYSINH, MANGANH] cócó
thuộc tínhthuộc tính PHAI = ‘NAM’PHAI = ‘NAM’ trongtrong
quan hệquan hệ SINHVIENSINHVIEN
S
SELECT MASV,HOTEN, NGAYSINH, MANGANH
FROM SINHVIEN
WHERE PHAI = ‘NAM’
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Tạo View V2 bằng cách chọnTạo View V2 bằng cách chọn
các dòngcác dòng [MANGANH][MANGANH] có thuộccó thuộc
tính TENNGANHtính TENNGANH = ‘Sư phạm= ‘Sư phạm
CREATE VIEW V2
AS
SELECT MANGANH
FROM NGANH
BÀIGIẢNBÀIGIẢN
NGNG
Tin học’Tin học’ trong quan hệtrong quan hệ NGANHNGANH WHERE TENNGANH = ‘Sư phạm Tin học’
SELECT MASV, HOTEN, NGAYSINH
FROM V1 JOIN V2
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1515))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1515))
FROM V1 JOIN V2
ON V1.MANGANH = V2.MANGANH
16. UU
Tạo View trong SQL Server
Tạo View bằng công cụ Studio Management
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
Vùng biểu các table, view
tham gia vào câu truy vấn
ạo e bằ g cô g cụ Stud o a age e t
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
ể
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Vùng để nhập
câu truy vấn
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Vùng hiển thị kết
ấ
BÀIGIẢNBÀIGIẢN
NGNG
quả truy vấn
Vùng biểu diễn phép
chọn, chiếu,…trong
câu truy vấn
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1616))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1616))
y
17. UU
Tạo View trong SQL Server
Tạo View bằng lệnh CREATE VIEW từ New Query/Query Analyzer
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
ạo e bằ g ệ C từ e Que y/Que y a y e
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Nhập lệnh CREATE VIEW
để tạo View trong cửa sổ
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
để tạo View trong cửa sổ
New Query/Query
Analyzer
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1717))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1717))
18. Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
CƠ SỞ DỮ LIỆUCƠ SỞ DỮ LIỆU
• Stored Procedure - Thủ tục nội
19. Tương tác dữ liệu: thêm, xóa,...
Lấy dữ liệuLấy dữ liệu
Thêm dữ liệu
Tran Ngoc BaoTran Ngoc Bao DaiDai hoc Su Pham TP.HCMhoc Su Pham TP.HCMTRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1919))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1919))
Xóa dữ liệu Sửa dữ liệu
20. UU
Tương tác dữ liệu: thêm, xóa,...SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
Thêm dữ liệu INSERT
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
Cập nhật dữ liệu UPDATE
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Xóa dữ liệu DELETE
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Lấy dữ liệu SELECT
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2020))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2020))
21. UU
SQL Server Object – Stored ProcedureSQL Server Object – Stored Procedure
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Thêm, xóa, sửa, truy vấn
BÀIGIẢNBÀIGIẢN
NGNG
y
dữ liệu trong table Khoa
thực hiện như thế nào ?
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2121))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2121))
22. UU
SQL Server Object – Stored ProcedureSQL Server Object – Stored Procedure
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
TRUY VẤN TOÀN BỘ
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
TRUY VẤN TOÀN BỘ
DỮ LiỆU TRONG
TABLE KHOA
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2222))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2222))
23. UU
SQL Server Object – Stored ProcedureSQL Server Object – Stored ProcedureSỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
TẠO PROCEDURE
TRUY VẤN TOÀN BỘ
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
TRUY VẤN TOÀN BỘ
DỮ LiỆU TRONG
TABLE KHOA
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
BÀIGIẢNBÀIGIẢN
NGNG
THỰC THI
PROCEDURE TRUY
VẤN TOÀN BỘ DỮ
LiỆU TRONG TABLE
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2323))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2323))
LiỆU TRONG TABLE
KHOA
24. UU
SQL Server Object – Stored ProcedureSQL Server Object – Stored Procedure
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Thêm mới dữ liệu
vào Table KHOA
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2424))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2424))
25. UU
SQL Server Object – Stored ProcedureSQL Server Object – Stored Procedure
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Tạo STORE PROCEDURE
BÀIGIẢNBÀIGIẢN
NGNG
Tạo STORE PROCEDURE
để thêm mới dữ liệu vào
Table KHOA
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2525))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2525))
26. UU
SQL Server Object – Stored ProcedureSQL Server Object – Stored Procedure
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
Thực thi thủ tục
SP_THEM_KHOA để
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
thêm mới dữ liệu vào
Table KHOA
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Thực thi thủ tục
SP THEM KHOA để
BÀIGIẢNBÀIGIẢN
NGNG
SP_THEM_KHOA để
thêm mới dữ liệu vào
Table KHOA
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2626))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2626))
27. UU
SQL Server Object – Stored ProcedureSQL Server Object – Stored Procedure
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
Khái niệm
Stored Procedure là các thủ tục được xây dựng để thực hiện các xử lý
liên quan đến việc dữ liệu: SELECT INSERT DELETE UPDATE
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
liên quan đến việc dữ liệu: SELECT, INSERT, DELETE, UPDATE,...
Stored Procedure được lưu trữ và thi hành ngay trong Server khi có yêu
cầu.
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Các thao tác liên quan đến Stored Procedure
Tạo Stored Procedure
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Mở DB cần tạo table bằng cách click vào dấu + bên trái
tên của DB để hiển thị các mục con trong DB. Ví dụ:
Diagrams, Tables, Views, Stored procedure,…
BÀIGIẢNBÀIGIẢN
NGNG
Click phải chuột vào mục Stored procedures
Chọn chức năng New Stored procedure… trong menu
sổ xuống, xuất hiện dialog soạn thảo nội dung của stored
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2727))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2727))
g g g
28. UU
SQL Server Object – Stored ProcedureSQL Server Object – Stored Procedure
Tạo Stored Procedure
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
Tạo Stored Procedure
Đặt tên Stored trong [PROCEDURE NAME]
Viết nội dung stored
Sau khi viết xong nội dung xử lý trong stored
ấ C S ể ể ủ
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
Nhấn Check Syntax: để kiểm tra cú pháp của các câu lệnh trong
stored
Nhấn OK: Lưu stored
Nhấn Cancel: hủy bỏ thao tác tạo
Sử S d P d
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Sửa Stored Procedure
Click vào mục Stored procedures để hiển thị danh sách Stored procedure
tương ứng (bên phải)
Chọn Stored procedure trong danh sách Stored procedures
Cli k hải h ột à St d d ầ ử d M St dP
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Click phải chuột vào mục Stored procedure cần sửa, vd: MyStoredPro
Chọn mục Properties trong menu context
Xuất hiện màn hình tương tự như màn hình Stored procedure
Thực hiện các thao tác tương tự như phần tạo
Xó St d P d
BÀIGIẢNBÀIGIẢN
NGNG
Xóa Stored Procedure
Click vào mục Stored procedures để hiển thị danh sách Stored procedure
tương ứng (bên phải)
Chọn Stored procedure trong danh sách Stored procedure
Cli k hải h ột à St d d ầ ó d M St dP
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2828))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2828))
Click phải chuột vào mục Stored procedure cần xóa, vd: MyStoredPro
Chọn mục Delete trong menu context
29. UU
Stored Procedure trong SQL Server 2000Stored Procedure trong SQL Server 2000
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2929))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2929))
30. UU
Stored Procedure - trong SQL Server 2005Stored Procedure - trong SQL Server 2005
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3030))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3030))
31. UU
Stored Procedure - trong SQL Server 2005Stored Procedure - trong SQL Server 2005
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
Thông tin
chú thích
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Tên thủ
tục
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Danh sách
tham số
BÀIGIẢNBÀIGIẢN
NGNG
tham số
Các câu lệnh T-SQL:
SELECT, INSERT,
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3131))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3131))
SELECT, INSERT,
DELETE, UPDATE,…
32. UU
SQL Server Object – Stored ProcedureSQL Server Object – Stored Procedure
Cấu trúc của một Stored Procedure bao gồm các phần chính sau đây
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
Cấu trúc của một Stored Procedure bao gồm các phần chính sau đây
Phần Tên
Cú pháp
CREATE PROCEDURE StoredName
Ý nghĩa
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
Ý nghĩa
Định nghĩa thủ tục nội với tên là StoredName
Ví dụ
CREATE PROCEDURE DemNhanVien
AS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
AS
SELECT Count(*)
FROM NhanVien
Phần tham số
Tương tự như bất kỳ một thủ tục nào trong một ngôn ngữ lập trình phần tham
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Tương tự như bất kỳ một thủ tục nào trong một ngôn ngữ lập trình, phần tham
số của một Stored được khai báo ngay sau phần tên của nó.
Tham số nhập
Cú pháp:
BÀIGIẢNBÀIGIẢN
NGNG
Cú pháp:
@Parameter1 DataType [=DefaultValue]
@Parameter1: Tên của biến số
DataType: Kiểu dữ liệu của biến
DefaultValue: Giá trị mặc định của biến
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3232))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3232))
DefaultValue: Giá trị mặc định của biến
33. UU
SQL Server Object – Stored ProcedureSQL Server Object – Stored Procedure
CREATE PROCEDURE StoredName
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
CREATE PROCEDURE StoredName
@Parameter1 DataType [=DefaultValue,]
@Parameter2 DataType OUTPUT,
@Parameter3 DataType OUTPUT
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
@Parameter3 DataType OUTPUT
AS
BEGIN
BEGIN TRANSACTION
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
BEGIN TRANSACTION
{T-SQL Statement1}
If @Error <> 0
Goto Err_Handle
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
{T-SQL Statement2}
If @Error <> 0
Goto Err_Handle
COMMIT TRANSACTION
BÀIGIẢNBÀIGIẢN
NGNG
COMMIT TRANSACTION
Return(0)
Err_Handle:
ROLLBACK TRANSACTION
R t (@E )
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3333))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3333))
Return(@Error)
END
34. UU
SQL Server Object – Stored ProcedureSQL Server Object – Stored Procedure
CREATE PROCEDURE T Th S
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
CREATE PROCEDURE TruyenThamSo
@param0 int=NULL, -- Giá trị mặc định là NULL
@param1 int=1, -- Giá trị mặc định là 1
@param2 int=2 -- Giá trị mặc định là 2
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
Với câu lệnh thực thi thủ tục TruyenThamSo
@p ị ặ ị
AS
SELECT @param0, @param1, @param2
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Với câu lệnh thực thi thủ tục TruyenThamSo
EXEC TruyenThamSo
Kết quả
(Null) 1 2
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
EXEC TruyenThamSo 10,20,30
Kết quả
10 20 30
EXEC TruyenThamSo @param2=200 @param1=NULL
BÀIGIẢNBÀIGIẢN
NGNG
EXEC TruyenThamSo @param2=200, @param1=NULL
Kết quả
Null Null 200
EXEC TruyenThamSo 0, DEFAULT, 20
ế ả
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3434))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3434))
Kết quả
0 1 200
35. UU
SQL Server Object – Stored ProcedureSQL Server Object – Stored Procedure
Tham số ất
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
Tham số xuất
Cú pháp:
@Parameter1 DataType OUTPUT
@Parameter1: Tên của biến số
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
@Parameter1: Tên của biến số
DataType: Kiểu dữ liệu của biến
DefaultValue: Giá trị mặc định của biến
Ví dụ:
Kh i bá thủ t
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
--Khai báo thủ tục
CREATE PROCEDURE count_tables @authorcount int OUTPUT,
@titlecount int OUTPUT
AS
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
SELECT * FROM authors
SET @authorcount=@@ROWCOUNT
SELECT * FROM titles
SET @titlecount=@@ROWCOUNT
BÀIGIẢNBÀIGIẢN
NGNG
SET @titlecount=@@ROWCOUNT
RETURN(0)
--Thực thi thủ tục
DECLARE @a_count int, @t_count int
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3535))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3535))
EXEC count_tables @a_count OUTPUT, @t_count OUTPUT
36. UU
KHAI BÁO BIẾNKHAI BÁO BIẾN
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3636))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3636))
37. UU
ế
KHAI BÁO BIẾNKHAI BÁO BIẾN
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
Khai báo biến
Cú pháp
DECLARE @Name DataType
@Name: là tên của biến phải được bắt đầu với ký tự @
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
@Name: là tên của biến, phải được bắt đầu với ký tự @
DataType: kiểu dữ liệu của biến, bao gồm tất cả các kiểu dữ liệu của hệ
thống trừ các kiểu sau: text, ntext, image.
Ví dụ
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
--Khai báo biến lưu trữ số Record trong một Table nào đó
DECLARE @nNumRecord int
--Khai báo biến lưu trữ số tổng số tiền
DECLARE @SumMoney decimal(18 2)
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
DECLARE @SumMoney decimal(18,2)
--Khai báo biến lưu trữ tên
DECLARE @sName char(30)
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3737))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3737))
38. UU
GÁN GIÁ TRỊ CHO BIẾNGÁN GIÁ TRỊ CHO BIẾNSỞDỮLiỆSỞDỮLiỆUU
SQLSQL
Cú pháp 1:
SET @Name = Value
@Name: Tên biến
V l Giá t ị ầ á h biế
Ví dụ
Cú pháp 1:
DECLARE @HoTen char(20)
ễ
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
Value: Giá trị cần gán cho biến
Cú pháp 2:
SELECT @Name = Value
@Name: Tên biến
V l Giá t ị ầ á h biế
SET @HoTen = ‘Nguyễn Công Phú’
Cú pháp 2:
DECLARE @HoTen char(20)
SELECT @HoTen = ‘Nguyễn Công Phú’
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Value: Giá trị cần gán cho biến
Hoặc
SELECT @Name = coloum
FROM TableName
@N Tê biế
hoặc
--Tìm lương lớn nhất của tất cả các nhân
viên
DECLARE @MaxSalary decimal(18,2)
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
@Name: Tên biến
Column: Tên cột trong Table
cần gán cho biến
SELECT @MaxSalary = MAX(Salary)
FROM Employee
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3838))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3838))
39. UU
SQL Server Object – Local VariablesSQL Server Object – Local Variables
Các biến được sử dụng trong cấu truy vấn như là các tham số.
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
Các biến được sử dụng trong cấu truy vấn như là các tham số.
-Cho lược đồ CSDL và dữ liệu tương ứng như sau:
HocSinh DiemThi
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
MaHS TenHS NgaySinh DiaChi MaHS HocKy NH Diem
01 Bao 10/10/1977 123 01 01 2001 10
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
02 Phu 11/10/1079 124 03 01 2002 8
Ví dụ: Liệt kê danh sách học sinh Ví dụ: Liệt kê danh sách các học sinh có địa
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
-Ví dụ: Liệt kê danh sách học sinh
có ngày sinh vào ngày ‘10/10/1977’
DECLARE @NgaySinh datetime
SET @NgaySinh=’10/10/1977’
SELECT *
Ví dụ: Liệt kê danh sách các học sinh có địa
chỉ là ‘123’ và điểm thi lớn hơn 10
DECLARE @DiaChi varchar(50), @Diem
Decimal
SELECT @DiaChi=’123’ @Diem=10
BÀIGIẢNBÀIGIẢN
NGNG
SELECT
FROM HocSinh
WHERE NgaySinh = @NgaySinh
SELECT @DiaChi 123 , @Diem 10
SELECT *
FROM HocSinh JOIN DiemThi ON
HocSinh.MaHS = DiemThi.MaHS
WHERE DiaChi = @DiaChi AND DiemThi >=
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3939))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3939))
WHERE DiaChi @DiaChi AND DiemThi >
@Diem
40. UU
Cấu trúc điều khiển
Cấ t ú điề kiệ
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
• Cấu trúc điều kiện
– Nếu (biểu thức điều kiện ) thì
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
• Lệnh/khối lệnh S
IF (bieu thuc dieu kien)IF (bieu thuc dieu kien)
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
BEGIN
//Lenh/Khoi lenh S
END
//Lenh/khoi lenh P
BEGIN
//Lenh/Khoi lenh S
END
//Lenh/khoi lenh P
DKDK
SS
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
//Lenh/khoi lenh P//Lenh/khoi lenh P
SS
ĐĐ
BÀIGIẢNBÀIGIẢN
NGNG
PP
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4040))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4040))4040
41. UU
Cấu trúc điều khiển
Cấ t ú điề kiệ
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
• Cấu trúc điều kiện
– Ví dụ tìm Max trong 2 số a, b
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
DECLARE @a,@b, @Max INT
SET @Max = @a
IF (@a<@b)
DECLARE @a,@b, @Max INT
SET @Max = @a
IF (@a<@b)
Max = a;Max = a;
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
IF (@a<@b)
BEGIN
SET @Max = @b
END
IF (@a<@b)
BEGIN
SET @Max = @b
END a < ba < b
SS
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
PRINT @MAXPRINT @MAX
M bM b
ĐĐ
BÀIGIẢNBÀIGIẢN
NGNG
Max = b;Max = b;
cout<<…cout<<…
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4141))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4141))4141
42. UU
Cấu trúc điều khiển
Cấ t ú điề kiệ
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
• Cấu trúc điều kiện
– Nếu (biểu thức điều kiện ) thì
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
• Lệnh/khối lệnh S1
– Ngược lại
• Lệnh/khối lệnh S2
DKDK
SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
• Lệnh/khối lệnh S2
IF (bieu thuc dieu kien)
BEGIN
// /
IF (bieu thuc dieu kien)
BEGIN
// /
S1S1
ĐĐ
S2S2
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
//Lenh/Khoi lenh S1
END
ELSE
BEGIN
//Lenh/Khoi lenh S1
END
ELSE
BEGIN
PP
BÀIGIẢNBÀIGIẢN
NGNG
G
//Lenh/khoi lenh S2
END
//Lenh/khoi lenh P
G
//Lenh/khoi lenh S2
END
//Lenh/khoi lenh P
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4242))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4242))4242
43. UU
Cấu trúc điều khiển
Cấ t ú điề kiệ
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
• Cấu trúc điều kiện
– Ví dụ tìm Max trong 2 số a, b
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
DECLARE @a,@b, @Max INT
IF (@a>@b)
BEGIN
DECLARE @a,@b, @Max INT
IF (@a>@b)
BEGIN
bb
SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
SELECT @Max = @a
END
else
BEGIN
SELECT @Max = @a
END
else
BEGIN
a>ba>b
ĐĐ
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
BEGIN
SELECT @Max=@b
END
PRINT @MAX
BEGIN
SELECT @Max=@b
END
PRINT @MAX
Max=a;Max=a; Max=b;Max=b;
BÀIGIẢNBÀIGIẢN
NGNG
cout<<…cout<<…
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4343))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4343))4343
44. UU
Cấu trúc điều khiển
Cấ t ú h
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
• Cấu trúc chọn
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Phái = 0 ?
Phái = 1 ?
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4444))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4444))
45. UU
Cấu trúc điều khiển
• Cấu trúc chọn
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
• Cấu trúc chọn
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Phái = 0 ?
Phái = 1 ?
CASE PHAI
WHEN 0 THEN ‘NAM’
WHEN 1 THEN ‘NỮ’
END
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Phái =
BÀIGIẢNBÀIGIẢN
NGNG
NAM, NỮ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4545))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4545))
46. UU
Cấu trúc điều khiển
Cấ t ú h
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
• Cấu trúc chọn
CASE [TÊN THUỘC TÍNH]
WHEN [GIÁ TRỊ 1] THEN [KẾT QUẢ 1]
CASE [TÊN THUỘC TÍNH]
WHEN [GIÁ TRỊ 1] THEN [KẾT QUẢ 1]
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
WHEN [GIÁ TRỊ 1] THEN [KẾT QUẢ 1]
WHEN [GIÁ TRỊ 2] THEN [KẾT QUẢ 2]
….
WHEN [GIÁ TRỊ N] THEN [KẾT QUẢ N]
ELSE [KẾT QUẢ N 1]
WHEN [GIÁ TRỊ 1] THEN [KẾT QUẢ 1]
WHEN [GIÁ TRỊ 2] THEN [KẾT QUẢ 2]
….
WHEN [GIÁ TRỊ N] THEN [KẾT QUẢ N]
ELSE [KẾT QUẢ N 1]
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
ELSE [KẾT QUẢ N+1]
END AS [ALIAS]
ELSE [KẾT QUẢ N+1]
END AS [ALIAS]
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
[ ][ ]
CASE PHAICASE PHAI
BÀIGIẢNBÀIGIẢN
NGNG
CASE PHAI
WHEN 0 THEN ‘NAM’
WHEN 1 THEN ‘NỮ’
END AS PHAISV
CASE PHAI
WHEN 0 THEN ‘NAM’
WHEN 1 THEN ‘NỮ’
END AS PHAISV
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4646))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4646))
47. UU
Cấu trúc điều khiển
Cấ t ú h
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
• Cấu trúc chọn
[ALIAS] =
CASE
[ALIAS] =
CASE
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
CASE
WHEN [BIỂU THỨC LOGIC 1] THEN [KẾT QUẢ 1]
WHEN [BIỂU THỨC LOGIC 2] THEN [KẾT QUẢ 2]
….
WHEN [BIỂU THỨC LOGIC N] THEN [KẾT QUẢ N]
CASE
WHEN [BIỂU THỨC LOGIC 1] THEN [KẾT QUẢ 1]
WHEN [BIỂU THỨC LOGIC 2] THEN [KẾT QUẢ 2]
….
WHEN [BIỂU THỨC LOGIC N] THEN [KẾT QUẢ N]
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
WHEN [BIỂU THỨC LOGIC N] THEN [KẾT QUẢ N]
ELSE [KẾT QUẢ N+1]
WHEN [BIỂU THỨC LOGIC N] THEN [KẾT QUẢ N]
ELSE [KẾT QUẢ N+1]
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
ENDEND
BÀIGIẢNBÀIGIẢN
NGNG
‘PHAIV’ =
CASE
WHEN PHAI = 0 THEN ‘NAM’
Ữ
‘PHAIV’ =
CASE
WHEN PHAI = 0 THEN ‘NAM’
Ữ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4747))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4747))
WHEN PHAI = 1 THEN ‘NỮ’
END
WHEN PHAI = 1 THEN ‘NỮ’
END
48. UU
Cấu trúc điều khiểnSỞDỮLiỆSỞDỮLiỆUU
SQLSQL
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
Phái = 0 ?
Phái = 1 ?
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
Phái = NAM, NỮ
BÀIGIẢNBÀIGIẢN
NGNG
Phái = NAM, NỮ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4848))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4848))
49. UU
Cấu trúc điều khiển
Cấ t ú lặ
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
• Cấu trúc lặp
– Cấu trúc while
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
• Ví dụ:
– Viết chương trình tính tổng s= 1+2+..+n
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
g g
– Viết chương trình tính tổng s= 1+3+..+2n-1
– Viết chương trình tính tổng s= 2+4+..+2n
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
BÀIGIẢNBÀIGIẢN
NGNG
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4949))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4949))4949
50. UU
Cấu trúc điều khiển
Cấ t ú lặ hil
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
• Cấu trúc lặp while
WHILE (bieuthuc logic)
BEGIN
WHILE (bieuthuc logic)
BEGIN
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
//Lenh/Khoi lenh S
END
//Lenh/khoi lenh sau while
//Lenh/Khoi lenh S
END
//Lenh/khoi lenh sau while
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
• Ví dụ
– Viết chương trình tính tổng s= 1+2+ +n
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
– Viết chương trình tính tổng s= 1+2+..+n
DECLARE @i,@S INT
SELECT @i=1,@s=0
while(@i<=@n)
DECLARE @i,@S INT
SELECT @i=1,@s=0
while(@i<=@n)
BÀIGIẢNBÀIGIẢN
NGNG
while(@i< @n)
BEGIN
SELECT @s = @s+@i;
SELECT @i = @i+1;
while(@i< @n)
BEGIN
SELECT @s = @s+@i;
SELECT @i = @i+1;
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5050))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5050))
END
PRINT @S
END
PRINT @S
51. UU
Cấu trúc điều khiển
Cấ t ú lặ hil
SỞDỮLiỆSỞDỮLiỆUU
SQLSQL
• Cấu trúc lặp while
s=0s=0
DECLARE @i,@S INT
SELECT @i=1,@s=0
hil (@i @ )
DECLARE @i,@S INT
SELECT @i=1,@s=0
hil (@i @ )
NTRỊCƠSNTRỊCƠS
TRÌNHTTRÌNHT--SS
ii 11
s 0s 0while(@i<=@n)
BEGIN
SELECT @s = @s+@i;
SELECT @i = @i+1;
while(@i<=@n)
BEGIN
SELECT @s = @s+@i;
SELECT @i = @i+1;
HẦNQuẢNHẦNQuẢN
ỮLẬPTỮLẬPT
ii=1=1END
PRINT @S
END
PRINT @S
NGNGHỌCPHHỌCPH
GÔNNGỮGÔNNGỮ
ii<=n<=n
ĐĐ
SS
ii++++
BÀIGIẢNBÀIGIẢN
NGNG
s=s=s+is+i cout<<…cout<<…
ĐĐ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5151))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5151))5151