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

ppt 15 trang yennguyen 1480
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

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:

  • pptbai_giang_sql_server_2005_chuong_v_cap_nhat_du_lieu_pham_man.ppt