Tổng hợp các thủ thuật lập trình SQL server
1. Sử dụng hàm Isnull
Giá trị là null trong SQL đôi khi khiến kết quả tính toán của ta không thể thực hiện được. Để đảm bảo giá trị truy vấn hoặc truyền vào biến luôn có giá trị (Không phải null) bạn sử dụng hàm isnull như ví dụ:
DECLARE @count int SELECT @count=isnull(Count(*),0) FROM TB_News tn WHERE tn.idNews=10Ở ví dụ này nếu bảng TB_News của bạn không có idNews=10 thì sẽ trả về null nhưng nếu bạn sử dụng isnull thì biến @count của bạn sẽ là 0. Nếu không sử dụng isnull bạn thường phải làm như sau:
DECLARE @count int ELECT @count =Count(*) FROM TB_News tn WHERE tn.idNews=10 IF @count IS NULL SET @count =0Bạn có thể so sánh 2 cách và lựa chọn
2. Cập nhật số lần xem bài viết
Khi người dùng truy cập website của bạn và chọn một bài viết để đọc bạn muốn theo dõi số lượt bài viết đó được xem bao nhiêu lần thì trong bảng TB_News (lưu các bài viết của bạn) cần có thêm trường NumRead (int), Khi bài viết được xem bạn cần viết thủ tục như sau để vừa truy vấn vừa cập nhật số lần xem
CREATE PROCEDURE sTB_News_SelectByID @idNews int AS BEGIN --Cập nhật số lần xem trước khi hiển thị DECLARE @numread int SELECT @numread=isnull(tn.NumRead,0) FROM TB_News tn WHERE tn.idNews=@idNews UPDATE TB_News SET NumRead = @numread+1 WHERE idNews=@idNews -- Truy vấn hiển thị SELECT tn.idNews, tn.CateID, tn.LanguageCode, tn.UserName, tn.Title, tn.Description, tn.Content, tn.Keyword, tn.Author, tn.CreateDate,tn.NumRead, tn.Status FROM TB_News tn WHERE tn.idNews=@idNews ENDChú ý là các trường và tên bảng trong CSDL của bạn sẽ khác, Và ở ví dụ này mình sẽ cập nhật số lần xem trước khi truy vấn dữ liệu
3. Hàm Trim trong SQL
Trong SQL không có hàm trim nhưng lại có các hàm RTRIM và LTRIM vậy ta có thể kết hợp hai hàm này để có hàm Trim
Create Function fTrim ( @str nvarchar(500) ) Returns nvarchar(500) AsBEGIN Return RTRIM(LTRIM(@str)) End
Không có nhận xét nào:
Đăng nhận xét