您的位置:首页 > 其它

cs_Content_CreateUpdateDelete///cs_Content_GetList///cs_Content_Load

2006-09-05 09:00 495 查看
ALTER PROCEDURE [dbo].[cs_Content_GetList]
(
@SettingsID int
)
AS
SELECT
*
FROM
cs_Content c
WHERE
c.Hidden = 0 and c.SettingsID = @SettingsID
ORDER BY
c.LastModified DESC

GO
ALTER PROCEDURE [dbo].cs_Content_CreateUpdateDelete
(
@ContentID int out,
@Action int,
@Name nvarchar(256),
@Title nvarchar(256),
@Body ntext,
@FormattedBody ntext,
@Hidden bit,
@UpdateDate bit,
@SettingsID int
)
AS
SET Transaction Isolation Level Read UNCOMMITTED
-- CREATE
IF @Action = 0
BEGIN
-- first check that content name is not already in use
--检查内容名称是否被使用
IF EXISTS
(
SELECT
NULL
FROM
cs_Content
WHERE
Name = @Name and SettingsID = @SettingsID
)
BEGIN
RAISERROR ( 'Content name in use', 16, 1)
RETURN
END

DECLARE @SortOrder int --声明排序类型

SELECT @SortOrder = coalesce(MAX(SortOrder) + 1, 1) FROM cs_Content where SettingsID = @SettingsID

-- Create a new content
--插入数据,即创建新内容.
INSERT INTO
cs_Content
(
Name,
Title,
Body,
FormattedBody,
Hidden,
SortOrder,
SettingsID
)
VALUES
(
@Name,
@Title,
@Body,
@FormattedBody,
@Hidden,
@SortOrder,
@SettingsID
)

SET @ContentID = SCOPE_IDENTITY()

END

-- UPDATE
ELSE IF @Action = 1
BEGIN

IF EXISTS
(
SELECT
NULL
FROM
cs_Content c
WHERE
c.Name = @Name
AND c.ContentID <> @ContentID and c.SettingsID = @SettingsID
)
BEGIN
RAISERROR ( 'Content name in use', 16, 1)
RETURN
END

IF EXISTS(SELECT NULL FROM cs_Content WHERE ContentID = @ContentID)
BEGIN
UPDATE
cs_Content
SET
Name = @Name,
Title = @Title,
Body = @Body,
FormattedBody = @FormattedBody
WHERE
ContentID = @ContentID and SettingsID = @SettingsID

EXEC cs_Content_UpdateDate @ContentID
END

END

-- DELETE
ELSE IF @Action = 2
BEGIN --如果为2,删除次记录
DELETE cs_Content WHERE ContentID = @ContentID and SettingsID = @SettingsID
END

GO

ALTER PROCEDURE [dbo].[cs_Content_Load]
(
@ContentID int,
@SettingsID int,
@Name nvarchar(256) = null
)
AS
IF(@ContentID > 0)
BEGIN
SELECT
[SettingsID], [ContentID], [Name], [Title], [Body], [FormattedBody], [LastModified], [SortOrder], [Hidden]
FROM
[dbo].[cs_Content]
WHERE
ContentID = @ContentID and SettingsID = @SettingsID
END
ELSE
BEGIN
SELECT
[SettingsID], [ContentID], [Name], [Title], [Body], [FormattedBody], [LastModified], [SortOrder], [Hidden]
FROM
[dbo].[cs_Content]
WHERE
[Name] = @Name and SettingsID = @SettingsID

END

GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐