gpt4 book ai didi

stored-procedures - 从存储过程有条件地插入

转载 作者:行者123 更新时间:2023-12-04 07:43:36 24 4
gpt4 key购买 nike

我正在尝试自学 SQL。我有一个网络矩阵项目,我正在致力于编辑和显示由 SQL Server 数据库支持的帖子。一位同事建议我使用存储过程来提交帖子,而不是编写内联 sql。

到目前为止,该过程看起来没问题,但我想检查 url slug 是否已经存在,如果存在,则返回一些说明(url slug 应该是唯一的)。我正在为插入之前应该如何检查而苦苦挣扎。我还读到从存储过程返回是不好的做法,但我认为返回一些东西让调用者知道插入没有继续进行是个好主意。

非常感谢任何帮助。

 -- =============================================
-- Author: Dean McDonnell
-- Create date: 05/12/2011
-- Description: Commits an article to the database.
-- =============================================

CREATE PROCEDURE CommitPost

@UrlSlug VARCHAR(100),
@Heading VARCHAR(100),
@SubHeading VARCHAR(300),
@Body VARCHAR(MAX)

AS

INSERT INTO Posts(UrlSlug, Heading, SubHeading, Body, Timestamp)

VALUES(@UrlSlug, @Heading, @SubHeading, @Body, GETDATE())

这就是我目前所拥有的。

最佳答案

 CREATE PROCEDURE CommitPost

@UrlSlug VARCHAR(100),
@Heading VARCHAR(100),
@SubHeading VARCHAR(300),
@Body VARCHAR(MAX)

AS
IF NOT EXISTS (SELECT * FROM Posts WHERE UrlSlug = @UrlSlug)

INSERT INTO Posts(UrlSlug, Heading, SubHeading, Body, Timestamp)
VALUES(@UrlSlug, @Heading, @SubHeading, @Body, GETDATE())
SELECT @@ROWCOUNT

关于stored-procedures - 从存储过程有条件地插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8391934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com