有人可以告诉我这个查询有什么问题吗?
create trigger Test_trigger
before insert on Test for each row
begin select TestSequence.nextval into :new.id from dual;
end;/
当我运行此查询时,出现以下错误:
第1行的错误:PLS-00103:遇到以下任何一种情况时遇到符号“文件结束”:
;
符号“;”取代“文件结束”继续。
我正在使用Oracle 10g Express Edition。
答案 0 :(得分:0)
如果你在最后删除“/”,它应该有效。
答案 1 :(得分:0)
这是我正在尝试执行的脚本:
drop index TestTableIdx1;
drop index TestIdx1;
drop index TestIdx2;
drop table Test;
drop sequence TestSequence;
drop table TestTable;
create table TestTable (
objId number NOT NULL,
type varchar(16) NOT NULL,
title varchar(192) ,
url varchar(192) ,
primary key(objId, type)
);
create table Test (
id number NOT NULL,
objId number NOT NULL,
type varchar(16) NOT NULL,
timeslot timestamp NOT NULL,
contextId number ,
pubId number NOT NULL,
category varchar(24),
meta varchar(32),
pageviews number NOT NULL,
aggrLevel number NOT NULL,
primary key(id)
);
create table Dummy (
id int NOT NULL,
primary key(id)
);
create sequence TestSequence
start with 1
increment by 1
nomaxvalue;
create trigger Test_trigger
before insert on Test
for each row
begin
select TestSequence.nextval into :new.id from dual;
end;
/
create index TestTableIdx1 on TestTable (
objId desc, type asc
);
create index TestIdx1 on Test (
timeslot desc, objId desc, type asc
);
create index TestIdx2 on Test (
timeslot desc
);
create index TestIdx3 on Test (
objId desc, type asc
);
create index TestIdx4 on Test (
contextId desc
);
答案 2 :(得分:0)
尾随的“/”是SQL * Plus语法。您可能正在使用Oracle Apex中的SQL工具 - 在这种情况下,请省略“/".