All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQL,Server中的CTE_mssql学习_编程技术
PHP实例:取得上层目录_[PHP教程]
9个实用PHP函数及用法_[PHP教程]
PHP生成动态WAP页面_[PHP教程]
《SQL,Server,2005技术内幕:T-SQl查询》:常见sql问题归类解答_mssql学习_编程技术
PHP开发网站来看:PHP网站开发方案_php资料_编程技术
SQL查询语句对象化的实现(C#)_[SQL,Server教程]
优秀ASP.NET程序员修炼之路_[Asp.Net教程]
查询数据库表和字段sql语句_[SQL,Server教程]
SQL,Server数据库查询语句精华使用简介_[SQL,Server教程]
Reading number is top 10 pictures
清纯性感的美眉1
做运动的校花1
Sanya, hainan Haitian party feast promiscuity
yy365网站上的美女2
The hot big eye big breast beauty2
29 the belle stars after bath figure3
六种更聪明的工作方法
The money of more than 100 countries and regions4
人美胸美腿更美4
The real super beauty14
Download software ranking
Boxer vs Yellow5
Boxer's Top ten classic battle5
DreamWeaver8
星际争霸1.08硬盘免安装版
jBuilder2006
Boxer's Top ten classic battle3
金山office2007
WebService在.NET中的实战应用教学视频 → 第2集
株洲本地在线棋牌游戏
艳兽都市
归海一刀 published in(发表于) 2014/2/1 0:09:09 Edit(编辑)
Access升迁SQL,Server_[SQL,Server教程]

Access升迁SQL,Server_[SQL,Server教程]

Access升迁SQL Server_[SQL Server教程]

在软件开发过程中经常会遇到数据库升迁的问题,原因比较多,如acsess访问速度比sql server慢、删除数据记录后access会留下空档,文件越来越大(也可用压缩修复的方式减小文件大小,但太麻烦),访问速度越来越慢,甚至会数据库损坏,损坏得比较轻的可以找第三方工具来修复,便严重时会导致数据库无法修复,或修复后数据记录会损坏。所以我们大有必要升迁我们现有的Access数据库到SQL Server。

  现谈谈笔者在升迁时的做法及注意事项

  1,对于日期字段字段

  access表示为:#1981-28-12#
  
  SQLSERVER2000表示为:''1981-02-12''

  2,SQL语句区别,select ,update 在对单表操作时都差不多,但多表操作时update语句的区别ACCESS与SQLSERVER中的UPDATE语句对比:
  
  SQLSERVER中更新多表的UPDATE语句:

  UPDATE Tab1

  SET a.Name = b.Name
  
  FROM Tab1 a,Tab2 b

  WHERE a.ID = b.ID;

  同样功能的SQL语句在ACCESS中应该是

  UPDATE Tab1 a,Tab2 b

  SET a.Name = b.Name
  
  WHERE a.ID = b.ID;

  即:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后.

  更新单表时:都为:
  
  UPDATE table1 set ab='12',cd=444 where ....
  
  3,delete语句
  
  access中删除时用:delete * from table1 where a>2 即只要把select 语句里的select 换成delete就可以了。

  sqlserve 中则为: delete from table1 where a>2 即没有*号


  4,as 后面的计算字段区别

  access中可以这样:select a,sum(num) as kc_num,kc_num*num as all_kc_num 即可以把AS后的字段当作一个数据库字段参与计算。
  
  sqlserver 中则为:select a,sum(num) as kc_num,sum(num)*num as all_kc_num 即不可以把AS后的字段当作一个数据库字段参与计算。


5,[.]与[!]的区别
  
  access中多表联合查询时:select tab1!a as tab1a,tab2!b tab2b from tab1,tab2 ,中间的AS可以不要。
  
  sqlserve 中则:select tab1.a as tab1a,tab2.b tab2b from tab1,tab2 ,中间的AS可以不要。
  
  6,联合查询时,
  
  access中多表联合查询:'select a,b from(
  
  select a,b from tab1 where a>3 union select c,d from tab2 ) group by a,b
  
  sqlserve 中则'select a,b from(
  
  select a,b from tab1 where a>3 union select c,d from tab2 ) tmptable group by a,b即要加一个虚的表tmptable,表名任意。---
  
  7,access升级到sqlserver时,可以用sqlserver的数据导入工具导入数据,但要做必要的处理。
  
  access中的自动编号,不会自动转换SQL中的自动编号,只能转换为int型,要把它手工改成标识字段,种子为1,把所有导入被sqlserver转化成的以n开头的字段类型的n去掉,如nvarchar->varchar.把需要有秒类型的日期字段改成datatime类型(SQL会把所有的日期开转化成smalldatetime型)

  8,true与1=1

  access用where true表示条件为真,

  sqlserver用where 1=1表示条件为真

  9,判断字段值为空的区别
  
  普通空:

  Access和sql server一样 where code is null 或 where code is nol null
 
  条件空:
  
  Access:iif([num] is null,0,[num]) 或 iif([num] is null,[num1],[num])
  
  SQLServer: isnull([num],0) 或 isnull([num],[num1])
  
  10,SQL语句取子串的区别
  
  access:MID(字段,n1,[n2]),LEFT(字段,n),RIGHT(字段,n)
  
  如:select left(cs1,4)+'-'+cs2 as cs3
  
  SQLServer: SUBSTRING(expression, start, length)
  
  如:select substring(cs1, 1, 2) + substring(cs1, 4, 2) + '-' + cs2 as cs3


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.