gpt4 book ai didi

sql - 如果 object_id 不为空,则不能删除过程

转载 作者:行者123 更新时间:2023-12-04 00:44:34 24 4
gpt4 key购买 nike

我有一个奇怪的问题。我试图仅在程序存在时才删除它,并具有以下代码:

IF OBJECT_ID(N'dbo.CreateBlogUser', N'U') IS NOT NULL
DROP PROCEDURE CreateBlogUser;
PRINT 'IS NOT NULL'
GO

(打印品只是在那里尝试它是否真实)。当我运行它时,打印了“IS NOT NULL”,但过程没有被删除!它仍然存在于数据库中,所以当我运行创建过程时,它失败了。

但是!当我尝试从代码中删除 NOT 时,它起作用了!该过程被删除并且仍然打印“IS NOT NULL”。这似乎完全倒退了,我不知道为什么会这样。与 OBJECT_ID 中额外的 N:s 和 U:s 有关吗?找到代码 here

最佳答案

将“U”替换为“P”

IF OBJECT_ID(N'dbo.CreateBlogUser', N'P') IS NOT NULL
DROP PROCEDURE CreateBlogUser;
PRINT 'IS NOT NULL'
GO

关于sql - 如果 object_id 不为空,则不能删除过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13208158/

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