我已经安装了sql server 2008 r2 Management studio但是服务器有sql server 2005数据库。有什么原因可以测试我在sql server 2008中编写的sql server 2005上的查询。
我的示例查询在sql server 2008中有效但在2005年没有。
CREATE TABLE #Tmp
(
NoOfMembers int,
AverageAge int
)
insert into #Tmp(NoOfMembers,AverageAge)
Values((Select Count(*)NoOfMembers From Customer where Confirmed = 1),
(Select AVG(CONVERT(int,Age)) AverageAge From Customer where Confirmed = 1)
)
select * From #Tmp
任何帮助 Thanx提前
答案 0 :(得分:0)
您可以使用sql 2008管理工作室对2005 sql server没有问题。如果您的SQL语句是针对数据库触发的,并且在sql 2005中不起作用,则服务器将回答错误消息。
如果您有一个sql 2008并想要针对2005进行测试,您可以将兼容模式设置为2005,这也可以。
您发布的sql语句想要在值部分中使用子查询。这不适用于sql2005并产生错误。如果你在2005年需要它,那么创建一个标量函数,例如并改为使用它。
编辑:
好吧,如果你想在没有VALUES
语句的情况下使用sql将数据插入到表中,你可以这样做:
CREATE TABLE #Tmp
(
NoOfMembers int,
AverageAge int
)
INSERT INTO #Tmp(NoOfMembers,AverageAge)
SELECT COUNT(*), AVG(CONVERT(int,Age))
FROM Customer WHERE Confirmed = 1
SELECT * FROM #Tmp
答案 1 :(得分:0)
这就是你可以在
SQL Server 2005
上使用它的方法。
CREATE TABLE #Tmp
(
NoOfMembers int,
AverageAge int
)
insert into #Tmp(NoOfMembers,AverageAge)
(Select Count(*), AVG(CONVERT(int,Age)) From Customer where Confirmed = 1)
select * From #Tmp