创建临时表前先检查临时表是否存在,如果存在则删除

编程入门 行业动态 更新时间:2024-10-26 11:17:41
本文介绍了创建临时表前先检查临时表是否存在,如果存在则删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在使用以下代码检查临时表是否存在并在再次创建之前删除该表是否存在.只要我不更改列,它就可以正常工作.如果我稍后添加一列,它会给出一个错误提示无效的列".请让我知道我做错了什么.

I am using the following code to check if the temporary table exists and drop the table if it exists before creating again. It works fine as long as I don't change the columns. If I add a column later, it will give an error saying "invalid column". Please let me know what I am doing wrong.

IF OBJECT_ID('tempdb..#Results') IS NOT NULL DROP TABLE #Results CREATE TABLE #Results ( Company CHAR(3), StepId TINYINT, FieldId TINYINT, ) select company, stepid, fieldid from #Results --Works fine to this point IF OBJECT_ID('tempdb..#Results') IS NOT NULL DROP TABLE #Results CREATE TABLE #Results ( Company CHAR(3), StepId TINYINT, FieldId TINYINT, NewColumn NVARCHAR(50) ) select company, stepid, fieldid, NewColumn from #Results --Does not work

推荐答案

我无法重现该错误.

也许我不明白这个问题.

Perhaps I'm not understanding the problem.

以下在 SQL Server 2005 中对我来说很好用,额外的foo"列出现在第二个选择结果中:

The following works fine for me in SQL Server 2005, with the extra "foo" column appearing in the second select result:

IF OBJECT_ID('tempdb..#Results') IS NOT NULL DROP TABLE #Results GO CREATE TABLE #Results ( Company CHAR(3), StepId TINYINT, FieldId TINYINT ) GO select company, stepid, fieldid from #Results GO ALTER TABLE #Results ADD foo VARCHAR(50) NULL GO select company, stepid, fieldid, foo from #Results GO IF OBJECT_ID('tempdb..#Results') IS NOT NULL DROP TABLE #Results GO

更多推荐

创建临时表前先检查临时表是否存在,如果存在则删除

本文发布于:2023-07-22 23:37:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1192067.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:前先   是否存在

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!