create table M_TRANSACTION_TYPE
(
OPERATION_ID number primary key,
OPERATION_TYPE number,
OPERATION_TIME date,
CRM_ID varchar2(36),
);
create sequence M_TRANSACTION_TYPE_SEQ nocycle;
create or replace M_TRANSACTION_TYPE_TRIGGER
before insert on M_TRANSACTION_TYPE
for each row
begin
select M_TRANSACTION_TYPE_SEQ.NEXTVAL into :new.OPERATION_ID from dual;
end;
请问这个有什么问题,执行的时候出现,执行完毕,但带有警告;导致我下面sql脚本无法执行。
我全部看了一下,有两处错误:
1.像楼上"demojava"说的,建table时最后多了一个逗号
2.create trigger的时候少了trigger关键字
所以,改成这样后我试验是成功的:
[code="sql"]
create table M_TRANSACTION_TYPE
(
OPERATION_ID number primary key,
OPERATION_TYPE number,
OPERATION_TIME date,
CRM_ID varchar2(36)
);
create sequence M_TRANSACTION_TYPE_SEQ nocycle;
create or replace trigger M_TRANSACTION_TYPE_TRIGGER
before insert on M_TRANSACTION_TYPE
for each row
begin
select M_TRANSACTION_TYPE_SEQ.NEXTVAL into :new.OPERATION_ID from dual;
end;
[/code]
以上仅供参考
哥们,你创建表的时候就有错误了
create table M_TRANSACTION_TYPE
(
OPERATION_ID number primary key,
OPERATION_TYPE number,
OPERATION_TIME date,
CRM_ID varchar2(36),
);
你仔细看下
CRM_ID varchar2(36), 这个后面不应该有逗号的
应该这样
create table M_TRANSACTION_TYPE
(
OPERATION_ID number primary key,
OPERATION_TYPE number,
OPERATION_TIME date,
CRM_ID varchar2(36)
);
还有创建触发器少了关键字:TRIGGER
正确语句是:
create table M_TRANSACTION_TYPE
(
OPERATION_ID number primary key,
OPERATION_TYPE number,
OPERATION_TIME date,
CRM_ID varchar2(36)
);
create sequence M_TRANSACTION_TYPE_SEQ nocycle;
create or replace TRIGGER M_TRANSACTION_TYPE_TRIGGER
before insert on M_TRANSACTION_TYPE
for each row
begin
select M_TRANSACTION_TYPE_SEQ.NEXTVAL into :new.OPERATION_ID from dual;
end;