Экспериментируя с новыми функциями T-SQL, я столкнулся с загадкой. Вот несколько новых синтаксисов, поддерживаемых SQL 2008, и я ожидаю, что он будет работать с базами данных, установленными для режима совместимости 100 (т. Е. 2008), а не работать для режима совместимости 80 (т. Е. 2000). Тем не менее, это работает для набора базы данных для SQL SERVER режима совместимости с 2000 по экземпляру стандартной версии SQL 2008:Почему новый T-SQL SQL Server 2008 работает с базой данных в режиме совместимости 80?
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', '[email protected]', 50000.00),
('Jisun', '[email protected]', 225000.00),
('Alice', '[email protected]', 75000.00),
('Sam', '[email protected]', 45000.00)
SELECT * FROM dbo.Employees
drop table dbo.Employees
Да, это так. Я запускаю сценарий в базе данных с «уровнем совместимости», установленным в «SQL Server 200 (80) на MS SQL Server 2008 R2 –