gpt4 book ai didi

t-sql - SQL 事务中 # 的含义

转载 作者:行者123 更新时间:2023-12-02 08:54:35 25 4
gpt4 key购买 nike

您好,我正在检查我公司安装的产品的一些商店程序,您知道看看其他人如何解决问题并学习。

其中我发现了这个,但我不知道 sql sp 中的 # 是什么意思,在 select different objecttype from #CascadeCollect 行中,请发表评论?

这是整个 sp..

begin
-- get all the unique otcs collected in the temp table.
declare @EntityCode int
-- check if the entity requires special casing.
declare @DbCascadeMask int

-- special casing for calendar delete
exec p_DeleteCalendar

declare otccursor cursor for
select distinct objecttype from #CascadeCollect <------ here is the # ....

open otccursor
fetch otccursor into @EntityCode

while @@fetch_status = 0
begin
select @DbCascadeMask = DbCascadeMask
from EntityView as Entity
where Entity.ObjectTypeCode = @EntityCode

if @DbCascadeMask <> 0
begin
exec p_BulkDeleteGeneric @EntityCode
end

fetch otccursor into @EntityCode
end
CLOSE otccursor
DEALLOCATE otccursor


-- Return the count of entity instances that are still not deleted (because they
-- require platform bizlogic/special casing.
select count(*) as NotDeletedCount from #CascadeCollect where processed = 2
end

感谢您的评论!!!

最佳答案

单个 # 作为前缀表示本地范围的临时对象。在本例中,它显然是一个表,但您也可以有 #temp 过程。

它仅对创建它的批处理(以及任何子批处理)可见,并在批处理退出时自动删除。

因此,如果这是整个存储过程,那么显然应该从实际创建临时表的另一个过程运行。

您还可以拥有前缀为 ## 的全局临时对象。

关于t-sql - SQL 事务中 # 的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5953128/

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