Professional Documents
Culture Documents
(Database Programming)
Phần 2
Ngôn ngữ Transact-SQL
Các kiểu dữ liệu
Ví dụ: Tạo một database có tên là QLCC với các file được chỉ ra
USE master
GO
USE QLCC
GO
INSERT INTO hoso (maso,hoten,ngsinh,hslg,donvi)
VALUES (’HS0001’,’Trần Thị Hồng’,’12/10/1982’,3.32,’KT’)
USE QLCC
GO
USE QLCC
GO
SELECT select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression [ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
Toán tử UNION có thể được sử dụng giữa hai truy vấn để hợp hai tập kết
quả truy vấn thành một tập.
Ví dụ:
USE QLCC
GO
SELECT * FROM hoso
SELECT hoten,hslg FROM hoso WHERE donvi=‘KT’
SELECT donvi,COUNT(*) as ‘songuoi’, SUM(hslg) as ‘tonghslg’ FROM hoso
GROUP BY donvi HAVING songuoi>=5 ORDER BY donvi
GO
Cấu trúc điều khiển
Từ khoá Mô tả
DECLARE @m char(10), @v decimal
OPEN trich
-- dọc dòng đầu tiên của cursor
FETCH NEXT FROM trich INTO @m, @v
-- duyệt cursor
WHILE @@Fetch_Status = 0
BEGIN
IF @v<3.0
UPDATE hoso SET hslg= @v+1.0 WHERE maso=@m
ELSE
UPDATE hoso SET hslg= @v+0.5 WHERE maso=@m
-- dọc dòng tiếp theo
FETCH NEXT FROM trich INTO @m, @v
END
CLOSE trich
Thủ tục (Stored Procedures)
Cú pháp tạo một thủ tục
USE QLCC
GO
Hoặc:
CREATE FUNCTION dbo.ThongKe
( @d Char(2) )
RETURNS @ketqua TABLE ( Muc nvarchar(50), Giatri decimal)
AS
BEGIN
INSERT INTO @ketqua SELECT ‘Số người’,COUNT(*) FROM hoso WHERE donvi=@d
INSERT INTO @ketqua SELECT ‘Tổng lương cơ bản’,SUM(hslg*300000) FROM hoso _
WHERE donvi=@d
RETURN
END