日期:2014-05-16 浏览次数:20596 次
DML = Data Manipulation Language, 数据操纵语言 ,使用户能够查询 数据库 以及操作已有数据库中的数据的计算机语言。具体是指是 UPDATE更新、 INSERT插入、 DELETE删除。
最近为了做新旧系统异构数据库的同步,另外为了确保新旧系统实现的业务功能更加趋于一致,所以有点小懒的我也啃了一段时间的旧系统的存储过程(旧系统的业务功能全部依赖 SQL Server中的存储过程,而新系统采用 Oracle数据库, 而且数据库语句都通过上层的业务编写),对一些 DML语句有一些总结和体会,分享给大家。
本文进行对比的地方基于常用的几种数据库: Oracle、 MySQL和 SQL Server。
有一些语句写法只在某一种数据库中使用,而其余数据库会导致执行失败,若需要在编程时写 SQL语句,因为可能引起的数据库迁移问题,何不尽量避免这种迁移陷阱呢?
( 1 ) INSERT 后不加 INTO
??????? 在 INSERT后不加 INTO,在 SQL Server和 MySQL数据库都会执行成功,但 Oracle会提示“ ORA-00925: missing INTO keyword”的错误信息,例如:
( 2 ) DELETE 后不加 FROM
??????? 在 DELETE后不加 FROM的情况,在 SQL Server和 Oracle数据库中可以执行成功,但在 MySQL数据库中会提示“ SQL 执行错误 # 1064. 从数据库的响应 :?You have an error in your SQL syntax; check the manual that corresponds to you’re my SQL server version from the right syntax to use near ‘…….’”,例如:
( 3 )获取当前时间