c关于oracle 10g 的自增字段
c关于oracle 10g 的自增字段
表:
create table T_Log (
LogID VARCHAR2(32) not null,
UserName VARCHAR2(32) not null,
LoginAddress VARCHAR2(32) not null,
LogTime VARCHAR2(32) ,
LogType VARCHAR2(64) ,
constraint PK_T_Log primary key (LogID)
问题一、LogID为字增字段,Trigger编译报错,为何?
/*==============================================================*/
/* Sequence: SEQ_T_Log_LogID */
/*==============================================================*/
create sequence SEQ_T_Log_LogID
minvalue 1
maxvalue 99999999
start with 1
increment by 1
nocache
order;
/
/*==============================================================*/
/* Trigger: TRI_T_Log_LogID */
/*==============================================================*/
create or replace trigger TRI_T_Log_LogID
before insert on T_Log
for each row
declare
nextid number;
begin
if :new.LogID is null then
select SEQ_T_Log_LogID.nextval
into nextid
from T_Log;
:new.LogID:=nextid;
end if;
end TRI_T_Log_LogID;
/
问题二、LogTime的默认值如何设置为系统时间?
问题三、在9i下正常的spool C:/KBMS_CreateLog.log语句为何10g报错。
此外,大家看看这个问题http://community.csdn.net/Expert/TopicView3.asp?id=5