当前位置: 首页 > 图文教程 > 数据库 > MSSQL > INSERT语法使用技巧一例

MSSQL
J2EE基础应用:J2EE中SQL语句自动构造方法
SQL Server asp.net 数据提供程序连接池
SQL Server的怪辟:异常与孤立事务
一个修改Oracle数据库用户密码的小诀窍
SQL和Oracle对数据库事务处理的差异性
SQL SERVER应用问题解答13例(三)
设置Proxy Server和SQL Server实现互联网上数据库的安全
SQL Server 7.0 入门(一)
SQL Server 7.0 入门(二)
SQL Server 7.0 入门(三)
SQL Server 7.0 入门(四)
SQL Server 7.0 入门(五)
SQL Server 7.0 入门(七)
SQL Server 7.0 入门(八)
SQL Server XML 和 Web 应用体系结构(一)8
SQL Server XML 和 Web 应用体系结构(二)
SQL Server同Exchange Server结合应用--SQL Mail2
使用SQL Server 7.0建立一个安全的数据库的最好方法是
分布式查询和分布式事务
在SQL Server的存储过程中调用Com组件

MSSQL 中的 INSERT语法使用技巧一例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 124 ::
收藏到网摘: n/a

在SQL Server在线图书(SSBOL)中,请定位sp_dbcmptlevel,然后找出描述6.0、6.5和7.0之间版本兼容性的数据表
。你可以注意到INSERT SQL语句有如下所示的语法。


INSERT X
SELECT select_list INTO Y


早期的SQL Server数据库(6.0或者6.5版本)可以正确地解析这样的语句,但新的SQL Server数据库(7.0 或者8.0版本)就不能正确解析了。虽然语法中的Y 在任何兼容级设置下都不用做插入操作的接收者,但旧的数据库还允许这样的语法存在。这种语法在新的数据库中都因其更严格的语法检查而无法执行,然而,这种"严格要求"却让用户编写的代码更具稳固性。


以下是一个可以在SQL Server 7.0 或者2000上运行的简单脚本,该脚本说明了以上的语法如何通过旧数据库的测试但却不能通过新数据库的检查。


SET NOCOUNT OFF
GO
USE pubs
GO
IF EXISTS (SELECT * FROM sysobjects WHERE type =
'U' AND name = 'test')
BEGIN
DROP TABLE test
END
GO
CREATE TABLE test (col1 INT NULL, col2 INT NULL)
GO
EXEC sp_dbcmptlevel pubs, 65
GO
INSERT test
SELECT 1 ,1 INTO y
GO
EXEC sp_dbcmptlevel pubs, 70
GO
INSERT test
SELECT 2 ,1 INTO y
GO