@topicID
UPDATE Community_Faqs SET
Faq_Answer = @answer,
Faq_Reference = @reference
WHERE Faq_ContentPageID = @contentPageID
这里我们又一次使用了CSK中的存储过程Community_ContentPages,然后用Update的SQL更新Community_Faqs。与新增FAQ的存储过程相比,这里没有使用事务来保证更新操作的原子性。我们遵循了CSK中已经建立的模式,这里都不使用事务。也许是设计者认为更新操作失败的可能性比新增要小的多,减少不必要的资源锁定来提高系统数据吞吐能力吧。
接下来要写的存储过程是返回某个社区内给定范围的所有FAQ记录。这个名为Community_GetPagedSortedContent的存储过程,在原来的基础上增加了针对FAQ列的参数,并用IndexID排序。
CREATE PROCEDURE Community_FaqsGetFaqs
(
@communityID int,
@username NVarchar(50),
@sectionID int,
@pageSize int,
@pageIndex int,
@sortOrder NVarchar(50)
)
AS
DECLARE @currentDate DATETIME
SET @currentDate = GetUtcDate()
SELECT
null Faq_Answer,
null Faq_Reference,
Content.*
FROM
dbo.Community_GetPagedSortedContent
(
@communityID,
@username,