Oralce与Mysql在操作上有很大区别,比如:
Oralce字段使用关键字时需要加引号写到SQL中,如:user,order,size等。
Oralce没有limit而需要用numrow记录序号,如提取第三条后四数据:numrow>=3 and numrow<8
数据类型
Oralce没有auto_imcrement自增主键而需要使用序列等方式替代(SEQUENCE)
取最后插入主键,Oralce需要特殊处理,如查序列currval值
Oralce写超过4000字节数据需要特殊处理。
在这里说明自增主键和超过4000字节长数据。
使用序列自增
那么每个表都需要创建一个独立的序列,创建语句是:
如:
每个序列包含:
NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用,插入时当主键值使用
CURRVAL 中存放序列的当前值,取最后插入主键ID时使用
插入数据时使用: sq_name.nextval 作为主键值(注意不能加引号)
如:
取出最近插入主键则需要使用SQL查询:
插入超长内容
使用oci函数处理:
说明:如果使用oci函数在使用点位符时需要严格按数据类型走,否则会出错,所以使用oci_bind_by_name的方式时需要格外注意每个字段的数据类型是否匹配。
使用PDO处理:
说明:使用PDO的占位符也是需要指定数据类型,默认是PDO::PARAM_STR,包含execute函数。
最后因能力有限如果文本有错还请指出!
本文转自 ttlxihuan 51CTO博客,原文链接:http://blog.51cto.com/php2012web/1972479