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: webmaster@hmweb.com.vn
-- 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)
AS
BEGIN
-- 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
END
END
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: webmaster@hmweb.com.vn
-- 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: webmaster@hmweb.com.vn
-- 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