sql – 将临时表重命名为物理表
发布时间:2020-05-25 08:43:38 所属栏目:MsSql 来源:互联网
导读:我可以这样做吗? create table #tbl_tmp (col1 int)insert into #tbl_tmp select 3exec sp_rename #tbl_tmp,tbl_new 没有. 如果你从tempdb以外的数据库运行它,你会得到 No item by the name of ‘#tbl_tmp’ could be found in the curre
|
我可以这样做吗? create table #tbl_tmp (col1 int) insert into #tbl_tmp select 3 exec sp_rename '#tbl_tmp','tbl_new' 解决方法没有.如果你从tempdb以外的数据库运行它,你会得到
这并不奇怪,因为所有数据页面等都在tempdb数据文件中,因此您无法将其重命名为突然变成其他数据库中的永久表. 如果你从tempdb运行它,你得到
如果你执行EXEC sp_helptext sp_rename并查看定义相关的代码位,则不允许这样做 -------------------------------------------------------------------------- -------------------- PHASE 32: Temporay Table Isssue ------------------- -------------------------------------------------------------------------- -- Disallow renaming object to or from a temp name (starts with #) if (@objtype = 'object' AND (substring(@newname,1,1) = N'#' OR substring(object_name(@objid),1) = N'#')) begin COMMIT TRANSACTION raiserror(15600,-1,'sys.sp_rename') return 1 end 你为什么不首先创建一个永久表,然后重命名? (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
