+ -
当前位置:首页 → 问答吧 → SQL数据库

SQL数据库

时间:2011-12-05

来源:互联网

怎么样将SQL2000转换成SQL2005?

作者: xiaoashan   发布时间: 2011-12-05

在 2000 中分离,在2005 中附加
或 在 2000 中备份,在2005 中恢复.

作者: qianjin036a   发布时间: 2011-12-05

哎呀,发错贴了,嘿嘿!是怎么样将SQL2005的转换成SQL2000的!

作者: xiaoashan   发布时间: 2011-12-05

1、先分离sql2000上的数据库
2、再在sql2005上附件数据库

作者: koumingjie   发布时间: 2011-12-05

引用 2 楼 xiaoashan 的回复:
哎呀,发错贴了,嘿嘿!是怎么样将SQL2005的转换成SQL2000的!

导出sql脚本

作者: koumingjie   发布时间: 2011-12-05

将表中的数据导出insert语句
SQL code

Create proc [dbo].[proc_insert] (@tablename varchar(256),@colid int=1)
/*
输入:(必选)Table名称, varchar
      (可选)从第几个栏位开始生成(比如id自增型的栏位就不需要显式insert),int
输出:产生的insert语句,每行一条。
说明:请勿在查询分析器里使用时,有时会得到被截断的语句。解决方法:查询分析器->工具->选项->结果->每列最多字符数(修改)

*/
as
begin
      set nocount on
      declare @sqlstr varchar(8000)
      declare @sqlstr1 varchar(8000)
      declare @sqlstr2 varchar(8000)
      select @sqlstr='select ''insert '+@tablename
      select @sqlstr1=''
      select @sqlstr2=' ('
      select @sqlstr1= ' values ( ''+'
      select @sqlstr1 = @sqlstr1 + col + '+'',''+',@sqlstr2 = @sqlstr2 + name + ','
  from (select case
               -- when a.xtype =173 then 'case when '+'['+a.name+']'+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+'['+a.name+']' +')'+' end'
                 when a.xtype = 104 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + 'convert(varchar(1),' + '[' +
                  a.name + ']' + ')' + ' end'
                 when a.xtype = 175 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + '''''''''+' + 'replace(' + '[' +
                  a.name + ']' + ','''''''','''''''''''')' + '+''''''''' +
                  ' end'
                 when a.xtype = 61 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + '''''''''+' +
                  'convert(varchar(23),' + '[' + a.name + ']' + ',121)' +
                  '+''''''''' + ' end'
                 when a.xtype = 106 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + 'convert(varchar(' +
                  convert(varchar(4), a.xprec + 2) + '),' + '[' + a.name + ']' + ')' +
                  ' end'
                 when a.xtype = 62 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + 'convert(varchar(23),' + '[' +
                  a.name + ']' + ',2)' + ' end'
                 when a.xtype = 56 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + 'convert(varchar(11),' + '[' +
                  a.name + ']' + ')' + ' end'
                 when a.xtype = 60 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + 'convert(varchar(22),' + '[' +
                  a.name + ']' + ')' + ' end'
                 when a.xtype = 239 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + '''''''''+' + 'replace(' + '[' +
                  a.name + ']' + ','''''''','''''''''''')' + '+''''''''' +
                  ' end'
                 when a.xtype = 108 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + 'convert(varchar(' +
                  convert(varchar(4), a.xprec + 2) + '),' + '[' + a.name + ']' + ')' +
                  ' end'
                 when a.xtype = 231 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + '''''''''+' + 'replace(' + '[' +
                  a.name + ']' + ','''''''','''''''''''')' + '+''''''''' +
                  ' end'
                 when a.xtype = 59 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + 'convert(varchar(23),' + '[' +
                  a.name + ']' + ',2)' + ' end'
                 when a.xtype = 58 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + '''''''''+' +
                  'convert(varchar(23),' + '[' + a.name + ']' + ',121)' +
                  '+''''''''' + ' end'
                 when a.xtype = 52 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + 'convert(varchar(12),' + '[' +
                  a.name + ']' + ')' + ' end'
                 when a.xtype = 122 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + 'convert(varchar(22),' + '[' +
                  a.name + ']' + ')' + ' end'
                 when a.xtype = 48 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + 'convert(varchar(6),' + '[' +
                  a.name + ']' + ')' + ' end'
               -- when a.xtype =165 then 'case when '+'['+a.name+']'+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+'['+a.name+']' +')'+' end'
                 when a.xtype = 167 then
                  'case when ' + '[' + a.name + ']' +
                  ' is null then ''NULL'' else ' + '''''''''+' + 'replace(' + '[' +
                  a.name + ']' + ','''''''','''''''''''')' + '+''''''''' +
                  ' end'
                 else
                  '''NULL'''
               end as col,
               a.colid,
               '[' + a.name + ']' as name
          from syscolumns a
         where a.colid >= @colid
           and a.id = object_id(@tablename)
           and a.xtype <> 189
           and a.xtype <> 34
           and a.xtype <> 35
           and a.xtype <> 36
           and a.autoval is null) t
 order by colid
          
           select @sqlstr = @sqlstr +
             left(@sqlstr2, len(@sqlstr2) - 1) + ') ' +
             left(@sqlstr1, len(@sqlstr1) - 3) + ')'' from ' + @tablename
           print @sqlstr
           exec(@sqlstr) set nocount off
END

作者: koumingjie   发布时间: 2011-12-05

热门下载

更多