在尝试 T-SQL 的新功能时,我遇到了一个难题。这是 SQL 2008 支持的一些新语法,我希望它适用于兼容模式 100(即 2008)设置的数据库,而不适用于兼容模式 80(即 2000)。然而,这适用于标准版 SQL 2008 实例上 SQL SERVER 2000 兼容模式的数据库集:
use MDS -- this db is compat mode 80
go
CREATE TABLE dbo.Employees
(
Name VARCHAR(50) NULL,
Email VARCHAR(50) NULL,
Salary money NULL
)
INSERT INTO dbo.Employees(Name, Email, Salary)
VALUES('Scott', 'scott@example.com', 50000.00),
('Jisun', 'jisun@example.com', 225000.00),
('Alice', 'al@example.com', 75000.00),
('Sam', 'sam@example.com', 45000.00)
SELECT * FROM dbo.Employees
drop table dbo.Employees
最佳答案
我也注意到了这一点,发现this statement on MSDN :
Sets certain database behaviors to be compatible with the specified version of SQL Server.
兼容性模式影响“某些”行为,而不是所有行为。请参阅ALTER DATABASE documentation了解详情。
关于sql - 为什么SQL Server 2008的新T-SQL可以在兼容模式80的数据库上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3813351/