oracle 支持自动获取序列吗?

我用的数据是ORACLE    ID 是主键

yii 生成的SQL为什么没有id呢

2009/07/14 09:27:10 [error] [system.db.CDbCommand] Error in executing SQL: INSERT INTO Sendcardend (TERMINALID, ENDNAME, PASSWORD, IP_ADDR, HOSPITAL_ADD) VALUES (:TERMINALID, :ENDNAME, :PASSWORD, :IP_ADDR, :HOSPITAL_ADD) RETURNING ID INTO :RETURN_ID

插入提示 :

2009/07/14 09:27:10 [error] [exception.CDbException] exception 'CDbException' with message 'CDbCommand failed to execute the SQL statement: SQLSTATE[HY000]: General error: 1400 OCIStmtExecute: ORA-01400: 无法将 NULL 插入 ("HEALUSER"."SENDCARDEND"."ID")

(ext\pdo_oci\oci_statement.c:146)' in E:\wamp\www\cardserver_test\framework\db\CDbCommand.php:211

Stack trace:

只能建议你看一下驱动了:framework\db\schema\oci

这个驱动是用户写的,还是有可能有bug的。

oracle 本身不支持自动获取序列,你可以通过触发器和序列来实现这个功能。