资源描述:
《access与sql查询语句转换注意事项》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、--例等待1小时2分零3秒后才执行SELECT语句waitfordelay’01:02:03’select*fromemployee2、--例等到晚上11点零8分后才执行SELECT语句waitfortime’23:08:00’select*fromemployee3、UPDATE语句对比:SQLSERVER中更新多表的UPDATE语句:UPDATETab1SETa.Name=b.NameFROMTab1a,Tab2bWHEREa.ID=b.ID;同样功能的SQL语句在ACCESS中应该是UPDATETab1a,Tab2bSETa.Name=b.NameWHERE
2、a.ID=b.ID;即:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后.上例中如果Tab2可以不是一个表,而是一个查询,例:UPDATETab1a,(SelectID,NameFromTab2)bSETa.Name=b.NameWHEREa.ID=b.ID;4、访问多个不同的ACCESS数据库-在SQL中使用In子句:Selecta.*,b.*FromTab1a,Tab2bIn@#db2.mdb@#Wherea.ID=b.ID;上面的SQL语句查询出当前数据库中Tab1和db2.mdb(当前文件夹中)中Tab2以ID为关联的所
3、有记录.缺点-外部数据库不能带密码.5、在ACCESS中访问其它ODBC数据源下例在ACCESS中查询SQLSERVER中的数据SELECT*FROMTab1IN[ODBC][ODBC;Driver=SQLServer;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]外部数据源连接属性的完整参数是:[ODBC;DRIVER=driver;SERVER=server;DATABASE=database;UID=user;PWD=password;]其中的DRIVER=driver可以在注册表中的HKEY_LOCAL_MACHINE
4、SOFTWAREODBCODBCINST.INI中找到6、ACCESS支持子查询ACCESS支持外连接,但不包括完整外部联接,如支持LEFTJOIN或RIGHTJOIN但不支持FULLOUTERJOIN或FULLJOIN7、ACCESS中的日期查询注意:ACCESS中的日期时间分隔符是#而不是引号Select*FromTab1Where[Date]>#2002-1-1#;在DELPHI中我这样用SQL.Add(Format(@#Select*FromTab1Where[Date]>#%s#;@#,[DateToStr(Date)]));8、ACCESS中的字符
5、串可以用双引号分隔,但SQLSERVER不认,所以为了迁移方便和兼容,建议用单引号作为字符串分隔符.9、Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃10、InserInto…..Select…From语句:在ACCESS中以下语句INSERTINTOPubSubJectAccCopys(Copy_id,Acc_id,Acc_Pid,Acc_name,
6、acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index)(SELECT00201,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_indexFROMPubSubJectAccWHEREPubSubJectAcc.co_type='03')中后面"(select200201******.co_Type='03')"中的小括号("(",")")必须去掉才能执行,如下:INSERTINTOPubSub
7、JectAccCopys(Copy_id,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index)SELECT200201,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_indexFROMPubSubJectAccWHEREPubSubJectAcc.co_type='03'在SQLSERVER中都可以11、InnerJoin语