我写了一个sql文件,里面是整个库的建表语句,用oracle的dba权限用户登录.
在执行每个表的建表语句的时候都是成功的,但放到一起连续执行就提示编译错误.
语句大概是这样的,执行到第一个 "end;"后就不执行了,整个文件有许多创建触发器的,也就有许多"end;",
郁闷.
[code="java"]CREATE TABLE tb_a
(SeqNo INTEGER ,
CarNumber NUMERIC(10, 0) ,
PRIMARY KEY(SeqNo));
create SEQUENCE s_tb_a
INCREMENT by 1
start with 1
NOMAXVALUE
NOCYCLE
NOCACHE;
CREATE TRIGGER t_tb_a BEFORE
INSERT ON tb_a FOR EACH ROW --WHEN (NEW.SeqNo is null)
BEGIN
SELECT s_tb_a.nextval INTO:NEW.SeqNo from dual;
END;
--这以后的就不执行了
CREATE TABLE tb_b
(SeqNo INTEGER ,
CarNumber NUMERIC(10, 0) ,
PRIMARY KEY(SeqNo));
.............
..........[/code]请问有没有解决办法啊,还是我这样写不行啊.
Oracle数据库建表语句连续执行的问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
xuxiaolei 2008-09-11 16:29关注在end;后新起一行,写上/即可像这样:
[code="sql"]
CREATE TRIGGER t_tb_a BEFORE
INSERT ON tb_a FOR EACH ROW --WHEN (NEW.SeqNo is null)
BEGIN
SELECT s_tb_a.nextval INTO:NEW.SeqNo from dual;
END;
/
CREATE TABLE tb_b
(SeqNo INTEGER ,
CarNumber NUMERIC(10, 0) ,
PRIMARY KEY(SeqNo));
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报