sql-server – 如何在带有GO和没有GO语句的SQL Server Managemen
发布时间:2020-12-12 06:40:14 所属栏目:MsSql教程 来源:网络整理
导读:我有一个简单的查询 CREATE TABLE #tempTable (id int)DROP TABLE #tempTableCREATE TABLE #tempTable (id int)DROP TABLE #tempTable 根据我的理解,在第二部分中,它应该创建#tempTable. 但它显示以下错误 Msg 2714,Level 16,State 1,Line 4 There is already
我有一个简单的查询
CREATE TABLE #tempTable (id int) DROP TABLE #tempTable CREATE TABLE #tempTable (id int) DROP TABLE #tempTable 根据我的理解,在第二部分中,它应该创建#tempTable. 但它显示以下错误
我搜索了原因并发现它是由于查询的两个部分之间的GO语句.因此,正确的查询是 CREATE TABLE #tempTable (id int) DROP TABLE #tempTable GO CREATE TABLE #tempTable (id int) DROP TABLE #tempTable 我还发现GO只是告诉SSMS按顺序在每个批次中发送每个GO之间的SQL语句. 我的问题是,SQL语句是如何执行的?它不是按顺序执行的吗? 如果它按顺序执行,那为什么我的第一个查询会导致错误? 解决方法SQL Server documentation很好地解释了这一点.在您的特定情况下,问题是编译时错误与执行时错误. 这是如何运作的?没有GO分隔语句,所有语句都是同时编译的.问题是第三个语句是CREATE TABLE语句,表已经存在.所有发生的事情都是解析和编译语句. 使用GO,前两个语句被编译和执行.瞧!第三个语句中没有CREATE表. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- WinCE.NET 上SQLServer CE3.0 C#数量I/O操作方法
- Access数据向SQLServer导入数据
- sql-server – 优化数千个SQL Server数据库的性能
- 2012 使用XEvent sqlserver.blocked_process_rep
- SqlServer2005 provider: TCP 提供程序, error:
- 【自然框架】——Demo的源代码下载(2009-11-2更
- 怎样减少sqlserver中死锁的发生
- Sqlserver 中如何通过group by 实现分组合并
- sql-server – SharePoint 2007和SQL Server默认
- SQL访问链接服务器
热点阅读