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