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
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
解决方案 »
- Oracle触发器中如何抓取触发该触发器的sql语句
- 一条 SQL
- forms开发中的copy和subclass有什么区别
- 定时任务高级功能
- 还是“小计”的问题……如何排序查询结果啊?
- 分组取数据问题!!!急!!!
- 哪位大哥有《Oracle 8 初学者指南》英文版?急
- 请问在java存储过程中如何访问数据库,我用常规方法连接调用,单独可以执行,但在oracle中总提示java.sql.SQLException: No suitable dri
- 我的存储过程错在哪里?请高手指点!
- Oracle10g db link 访问MySql数据库报错ORA-28545,有没有大神知道怎么解决啊!
- plsql developer 的导出CSV问题
- 无法插入数据到一个表
BEFORE INSERT
ON ET_STATISTICS.T_LOG
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
declare
nextid number;
begin
if :new.LogID is null then
select SEQ_T_Log_LogID.nextval
into nextid
from dual;
:new.LogID:=to_char(nextid);
end if;
end TRI_T_Log_LogID;
/
CREATE TABLE T_LOG
(
LOGID VARCHAR2(32 BYTE) NOT NULL,
USERNAME VARCHAR2(32 BYTE) NOT NULL,
LOGINADDRESS VARCHAR2(32 BYTE) NOT NULL,
LOGTIME VARCHAR2(32 BYTE) DEFAULT sysdate,
LOGTYPE VARCHAR2(64 BYTE)
)问题一
select SEQ_T_Log_LogID.nextval
into nextid
from T_Log;
改成
select SEQ_T_Log_LogID.nextval
into nextid
from dual;:new.LogID:=nextid;--类型不对
谢谢问题三呢?
还有
ttp://community.csdn.net/Expert/TopicView3.asp?id=5分都给你
就转到了http://topic.csdn.net/t/19991229/00/5.html,帖子是n年前的帖子,而且是delphi的, 不懂有关TThread的FreeOnTerminte楼主kxy(手举穿肠毒药,怀抱刮骨钢刀)1999-12-29 00:11:00 在 Delphi / VCL组件开发及应用 提问
如果一个Thread在运行中,主程序结束,FreeOnTerminate没有
起作用,也就是说,Thread没有被释放,内存出现泄漏,如果Thread执行
完,主程序结束,Thread被释放.
OnFormClose中,Thread.Terminate,强制Thread结束也没有作用,
不知大家有没有好建议.
我是用,MemProof程序检查到内存泄漏的.
不知道KBMS_CreateLog.log的内容
也不知道抱什么错误
http://community.csdn.net/Expert/TopicView3.asp?id=5726617是“Oracle 10g 中文乱码问题”问题二改成 VARCHAR2(32 BYTE) DEFAULT sysdate,后
insert into t_log values (null,'DDa','ad',NULL,NULL)---其中第四字段为DEFAULT sysdateselect 出来就是空值阿,没有默认值啊
如果那个字段没有输入值,才会用他的默认值insert into T_Log (
LogID , UserName , LoginAddress, LogType )
values
(...); 这样才会用默认值