Bài giảng SQL Server 2005 - Chương V: Cập nhật dữ liệu - Phạm Mạnh Cương
2- Thêm mẫu tin lấy từ các bảng khác :
Cú pháp: INSERT
set dateformat DMY
insert into HDLuu(SoHD,NgayHD,TienHD)
select b1.SoHD, convert(varchar,b1.NgayHD, 103) as NgayHD, sum(b2.DGBan*b2.SL) as TienHD
from HoaDon as b1 inner join CTHD as b2 on b1.SoHD = b2.SoHD
group by b1.SoHD,b1.NgayHD
Bạn đang xem tài liệu "Bài giảng SQL Server 2005 - Chương V: Cập nhật dữ liệu - Phạm Mạnh Cương", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng SQL Server 2005 - Chương V: Cập nhật dữ liệu - Phạm Mạnh Cương
CHƯƠNG V
CẬP NHẬT DỮ LIỆU
Giảng viên : Phạm Mạnh Cương
1
NỘI DUNG
2
1. Thêm mẫu tin mới
2. Sửa nội dung mẫu tin
3. Xóa mẫu tin
I- THÊM MẪU TIN MỚI:
3
1. Thêm một mẫu tin mới
2. Thêm mẫu tin lấy từ các bảng khác
3. Thêm dữ liệu từ file vào cột Varbinary(Max )
1- Thêm một mẫu tin mới :
4
Cú pháp:
INSERT [()]
VALUES ()
Chú ý:
5
Database Engine tự động cung cấp giá trị cho các cột
• Có thuộc tính IDENTITY
• Có khai báo Default.
• Có cho phép Null.
• Hoặc là cột tính toán
2- Thêm mẫu tin lấy từ các bảng khác :
6
Cú pháp: INSERT [()]
set dateformat DMY
insert into HDLuu(SoHD,NgayHD,TienHD)
select b1.SoHD, convert (varchar,b1.NgayHD, 103) as NgayHD , sum (b2.DGBan*b2.SL) as TienHD
from HoaDon as b1 inner join CTHD as b2 on b1.SoHD = b2.SoHD
group by b1.SoHD,b1.NgayHD
3.Thêm dữ liệu từ file vào cột Varbinary(Max ):
7
Hàm : OPENROWSET ( BULK ' data_file ' , SINGLE_BLOB)
• Trả về bảng dữ liệu chỉ có một cột và một dòng chứa nội
dung file dữ liệu .
• Do đó, có thể sử dụng hàm này trong mệnh đề FROM
Ví dụ : Thêm loại hàng mới và ghi nội dung file hình 'C:\ KeoMut.jpg '
vào cột Hinh kiểu Varbinary(Max ).
Thêm mẫu tin mới có hình
8
Ví dụ : Thêm loại hàng mới và ghi nội dung file hình 'C:\ KeoMut.jpg ' vào cột Hinh
kiểu Varbinary(Max ).
INSERT LoaiHang ( MaLH , TenLH , MoTa , Hinh )
SELECT 3, N‘Kẹo mứt ’, N‘Desserts ' , *
FROM OPENROWSET ( BULK 'C:\ Keomut.jpg ', SINGLE_BLOB) AS A
II- SỬA NỘI DUNG MẪU TIN
9
1. Thay đổi nội dung cột dữ liệu
2. Thay đổi nội dung cột kiểu varbinary(Max)
1. Thay đổi nội dung cột dữ liệu
10
Cú pháp :
UPDATE
SET = { |DEFAULT|NULL}[ ,...n ]
[ FROM ]
[ WHERE ]
• Nếu không có mệnh đề WHERE th ì tất cả mẫu tin đều bị thay đổi.
• có thể là phát biểu SELECT trả về một giá trị cập nhật cho từng mẫu tin.
• Mệnh đề FROM được sử dụng khi điều kiện chọn lựa mẫu tin hoặc dữ liệu cập nhật có liên quan đến các bảng khác.
Chọn mẫu tin cập nhật với mênh đề WHERE
11
Ví dụ :
Tăng số tồn của các mặt hàng m ã số loại hàng bằng 1 thêm 100 và tăng đơn giá của các mặt hàng đó thêm 10%
update MatHang
set DonGia = DonGia+DonGia *10/100,SoTon=SoTon+100
where MaLH =1
2. Thay đổi nội dung cột kiểu varbinary(Max)
12
Cú pháp :
SELECT *
FROM OPENROWSET ( BULK ' file_name ', SINGLE_BLOB) AS
Ví dụ: Thay thế h ì nh của loại hàng có MaLH=1 với h ì nh lưu trong
file " D:\00473.jpg".
Update LoaiHang
set Hinh =(SELECT *
FROM OPENROWSET ( BULK 'D:\00473.jpg ', SINGLE_BLOB) AS A)
where MaLH =1
III- XÓA MẪU TIN
13
Cú pháp : DELETE
[ FROM ]
[ WHERE ]
• Nếu khong co mệnh đề WHERE thi tất cả mẫu tin đều bị xoa.
Vi dụ : Xóa tất cả cac dong trong CTHD
DELETE CTHD
Vi dụ: Xóa trong bảng CTHD, dòng chi tiết có số hoa đơn bằng 1
va mã mặt hang bằng 5
DELETE CTHD WHERE SoHD = 1 And MaMH = 5
D ù ng mệnh đề FROM
14
• Mệnh đề FROM được sử dụng khi điều kiện chọn lựa mẫu tin
trên bảng bị xóa co liên quan đến các bảng khác.
Ví dụ :
1. X ó a CTHD của c á c h ó a đơn lập năm 1995
delete CTHD from CTHD INNER JOIN HoaDon on HoaDon.SoHD = CTHD.SoHD and DatePart(YY,HoaDon.NgayHD )='1995'
2. X ó a MatHang đơn giá thấp nhất.
DELETE FROM MATHANG
WHERE DONGIA = (SELECT MIN(DONGIA) FROM MATHANG)
CẢM ƠN
15
File đính kèm:
bai_giang_sql_server_2005_chuong_v_cap_nhat_du_lieu_pham_man.ppt

