Mặc dù không khuyến khích lưu trữ và truy vấn trực tiếp dữ liệu hình ảnh (picture) trong bảng (table) bên trong cơ sở dữ liệu, tuy nhiên nhiều ứng dụng vẫn muốn lưu trữ hình ảnh trong bảng để đảm bảo tính toán vẹn của dữ liệu. Các ứng dụng này sẽ cung cấp thêm chức năng tạo bản copy của hình ảnh vào một thư mục tạm để truy vấn nhanh chóng. Bài viết này giới thiệu cách thức lưu trữ hình ảnh vào trong bảng của CSDL SQL Server.
Tạo bảng dữ liệu mẫu
Đầu tiên, tạo bảng dữ liệu lưu thông tin về nhân viên (Employees) như sau:
Chèn thử một bản ghi
Sử dụng câu lệnh INSERT để chèn thử một bản ghi vào trong bảng Employees:
Sử dụng truy vấn để kiểm tra kết quả:
Kết quả chèn:
Tạo PROCEDURE chèn bản ghi
Để thuận tiện cho việc sử dụng, ta tạo một STORED PROCEDURE để chèn thêm bản ghi (có chứa tệp ảnh) vào:
Lưu ý: Vì hàm OPENROWSET không cho phép đối số là biến (variable, ví dụ @a, @filename,…) nên ta phải tạo ra câu lệnh SQL để thêm các đối số vào, sau đó dùng EXEC() để gián tiếp thực thi câu lệnh chèn.
Sử dụng PROCEDURE trên để chèn thử một bản ghi:
Kết quả thu được: