Tiếp theo chúng ta cần viết các hàm và Store Procedure cho bảng TB_News.
1. Store Procedure thêm, sửa, xóa một bài viết.Cũng giống như với bảng TB_Category, mình viết spTB_News_Edit để thực hiện cả 3 hành động thêm, sửa, xóa một bài viết.
Nếu @Action=0 => xóa bài viết theo idNews=@idNews
Nếu @Action>0 =>
Nếu @idNews=0 thí thêm mới bài viết
Nếu @idNews>0 thì cập nhật bài viết theo idnews=@idnews
Store Procedure spTB_News_Edit được viết như sau:
-- =============================================-- Author: [email protected]-- Description: <Thêm, sửa hoặc xóa bài viết>\
-- =============================================CREATE PROCEDURE [dbo].[spTB_News_Edit]@Action int,@idNews int, @CateID int, @UserName nvarchar(50), @Title nvarchar(500), @Description ntext, @Content ntext, @Author nvarchar(150), @Picture nvarchar(255), @CreateDate datetime, @PublishDate datetime, @Status int, @Link nvarchar(150)ASBEGIN -- Nếu @Action=0 --> Xóa bài viết theo @idNews IF @Action=0 BEGIN DELETE FROM TB_News WHERE idNews=@idNews END -- Nếu Nếu @Action=1 --> Thêm mới hoặc sửa bài viết ELSE BEGIN --Nếu @idNews=0 --> Thêm mới bài viết IF @idNews=0 BEGIN INSERT INTO TB_News ( CateID, UserName, Title, Description, Content, Author, Picture, CreateDate, PublishDate, Status, Link ) VALUES ( @CateID, @UserName, @Title, @Description, @Content, @Author, @Picture, @CreateDate, @PublishDate, @Status, @Link ) END --Nếu @idNews>0 --> Cập nhật bài viết với idNews=@idNews IF @idNews>0 BEGIN UPDATE TB_News SET CateID = @CateID, UserName = @UserName, Title = @Title, Description = @Description, Content = @Content, Author = @Author, Picture = @Picture, CreateDate = @CreateDate, PublishDate = @PublishDate, Status = @Status, Link = @Link WHERE idNews=@idNews END ENDEND 2. Store procedure Xóa tất cả bài viết theo chuyên mụcKhi cần xóa hết bài viết của một chuyên mục bạn viết thủ tục như sau:
-- =============================================
-- Author: [email protected]
-- Description: <Xóa bài viết theo chuyên mục được chọn>
-- =============================================
CREATE PROCEDURE [dbo].[spTB_News_Delete_ByCateID]
@CateID int
AS
BEGIN
DELETE FROM TB_News WHERE CateID=@CateID
END3. Store procedure Xóa tất cả bài viết của một UserName
Khi cần xóa hết bài viết của một UserName bạn viết thủ tục như sau:
-- =============================================
-- Author: [email protected]
-- Description: <Xóa hết bài viết theo UserName>
-- =============================================
CREATE PROCEDURE [dbo].[spTB_News_Delete_ByUserName]
@UserName nvarchar(50)
AS
BEGIN
DELETE FROM TB_News WHERE UserName=@UserName
ENDTiếp theo chúng ta sẽ viết các thủ tục truy vấn dữ liệu