SQL2000的数据库直接附加到2008会不会有问题? SQL2000的数据库直接附加到2008会不会有问题?求实践过的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该没有,但是视图中order by会跟以前不一样 貌似会有问题.昨晚,写一个行转列例程,在08下做,结果老是提示" 在 ( 后有语法错误",(前面是 pivot ,后面是 sum想了很久,不得要领,后将程序复制到原来在数据库test 下开的一个查询窗口,居然又不错了.查了至少有半个小时,突然发现,原来运行的那个窗口,是在 pubs 数据库下的,而 pubs 数据库是从 2000 中备份后还原出来的!很奇怪会出这样的问题. 又查了一下,同一程序在同样从2000恢复的 Northwind 亦报错. 不过,在pubs 和 northwind 下可以使用 row_number() 函数. 打开查询窗口,把当前数据库设置为你附加来的数据库,运行一下下面的程序,看是否会报错,如果不报错,则没问题:create table t1(支付ID int,支付名称 nvarchar(10))insert into t1 select 1,'刷卡'insert into t1 select 2,'现金'insert into t1 select 3,'挂账'create table t2(支付信息ID int,支付方式ID int,支付金额 int,支付时间 DateTime)insert into t2 select 1,1,100,'2011-10-09 11:28:16.780'insert into t2 select 2,1,50,'2011-10-09 11:38:19.153'insert into t2 select 3,2,200,'2011-10-09 13:28:16.780'insert into t2 select 4,2,100,'2011-10-15 11:28:16.780'insert into t2 select 5,2,50,'2011-10-15 11:38:19.153'insert into t2 select 6,3,200,'2011-10-15 13:28:16.780'godeclare @s nvarchar(max),@s1 nvarchar(max)--获得列标头[a],[b]select @s=isnull(@s+',','')+'sum(['+ltrim(支付id)+ ']) as ['+ 支付名称 +'金额]',@s1=isnull(@s1+',','')+'['+ltrim(支付id)+']' from t1exec('select dt as 支付时间,'+@s+' from(select convert(varchar(10),支付时间,120)dt,'+@s1+' from t2 pivot(sum(支付金额) for 支付方式ID in('+@s1+'))b)t group by dt')godrop table t1,t2go你可以在2008里新建一个数据运行它,肯定是没问题的. 求十进制转换十六进制sql语句。 这么简单的sql语句怎么会这么慢?? 合并成一条查询语句 在XP上安装SQLServer2000PE,为何总出错,请高手指点一二! 一个表里有数据,现新增一字段,使值自动加一依次加上去 有关数据操纵语言 如何得到临时表中的记录数? 有一sql求助 sql语句的问题! 为什么左连接查询中的主表条件没有用呀,有sql语句.,, 左右表链接的存储过程功能实现 SQL2000的数据附加到2008后,找不到存储过程
想了很久,不得要领,后将程序复制到原来在数据库test 下开的一个查询窗口,居然又不错了.查了至少有半个小时,突然发现,原来运行的那个窗口,是在 pubs 数据库下的,而 pubs 数据库是从 2000 中备份后还原出来的!很奇怪会出这样的问题.
create table t1(支付ID int,支付名称 nvarchar(10))
insert into t1 select 1,'刷卡'
insert into t1 select 2,'现金'
insert into t1 select 3,'挂账'
create table t2(支付信息ID int,支付方式ID int,支付金额 int,支付时间 DateTime)
insert into t2 select 1,1,100,'2011-10-09 11:28:16.780'
insert into t2 select 2,1,50,'2011-10-09 11:38:19.153'
insert into t2 select 3,2,200,'2011-10-09 13:28:16.780'
insert into t2 select 4,2,100,'2011-10-15 11:28:16.780'
insert into t2 select 5,2,50,'2011-10-15 11:38:19.153'
insert into t2 select 6,3,200,'2011-10-15 13:28:16.780'
go
declare @s nvarchar(max),@s1 nvarchar(max)
--获得列标头[a],[b]
select @s=isnull(@s+',','')+'sum(['+ltrim(支付id)+ ']) as ['+ 支付名称 +'金额]',@s1=isnull(@s1+',','')+'['+ltrim(支付id)+']' from t1
exec('select dt as 支付时间,'+@s+' from(select convert(varchar(10),支付时间,120)dt,'+@s1+' from t2 pivot(sum(支付金额) for 支付方式ID in('+@s1+'))b)t group by dt')go
drop table t1,t2
go你可以在2008里新建一个数据运行它,肯定是没问题的.