gpt4 book ai didi

sql - SQL 存储过程可以自行删除并继续执行吗?

转载 作者:行者123 更新时间:2023-12-01 12:41:42 24 4
gpt4 key购买 nike

具体来说,我可以这样做吗?

CREATE PROC AutoDestructiveStoredProcedure
AS
DROP PROC AutoDestructiveStoredProcedure
PRINT 'Still alive.'
GO

这是一种不好的做法吗?

预期的行为是什么?它会根据实现而改变吗?在 SQL Server、MySQL 和 Oracle 中执行此操作有什么区别?

最佳答案

是的,这会奏效——至少在 SQL Server 2008 R2 中是这样。它继续执行直到程序结束,然后程序就消失了。

这是不好的做法吗?我认同。在我看来,主要原因是它将 DDL 与 DML 混合在一起,对通常易于理解的操作(调用存储过程)施加了意想不到的副作用。

很遗憾,我无法回答您关于它如何在 MySQL 或 Oracle 上运行的问题。

关于sql - SQL 存储过程可以自行删除并继续执行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23937006/

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