首先在一个XXXX.txt文件里写一个触发器:
create or replace trigger employee_salary_a
instead of update
on employee_salary
begin
if...then...(简单的省略了)
end;然后在cmd的sqlplus里用start c:.....XXXX.txt命令执行,按理说sqlplus每执行一个语句之后应该会自动弹出下一行的"sql:"从而继续输入指令,但是我执行触发器之后却不会弹出下一行的"sql:",而是让我接着输入,回车也没用。这是怎么回事?
create or replace trigger employee_salary_a
instead of update
on employee_salary
begin
if...then...(简单的省略了)
end;然后在cmd的sqlplus里用start c:.....XXXX.txt命令执行,按理说sqlplus每执行一个语句之后应该会自动弹出下一行的"sql:"从而继续输入指令,但是我执行触发器之后却不会弹出下一行的"sql:",而是让我接着输入,回车也没用。这是怎么回事?
set feedback off;
connect system/system;
drop table sss;create table sss(
sno char(4) not null primary key,
sname varchar2(10) not null,
sex char(3) not null,
dept varchar2(4),
age int
);
insert into sss values('801','张一','女','CS',19);
insert into sss values('802','王二','男','MA',20);
insert into sss values('803','刘三','女','CS',22);select * from sss;
-------a.txt---------然后cmd进入sqlplus,登录之后界面如下:SQL>_
输入指令,正常情况下用start "c:\....(地址就省略了)\a.txt" 会得到如下结果:SNO SNAME SEX ....
---- ----- --- -----------
801 张一 ....(省略了)
802 ... ....
803 ... ...
SQL>_然后可以在“SQL>_”后面可以继续输入指令,比如select * from..之类的。但是我碰到的问题是:
在之前的a.txt添加一个触发器的代码:---------a.txt---------
set feedback off;
connect system/system;
drop table sss;create table sss(
sno char(4) not null primary key,
sname varchar2(10) not null,
sex char(3) not null,
dept varchar2(4),
age int
);
insert into sss values('801','张一','女','CS',19);
insert into sss values('802','王二','男','MA',20);
insert into sss values('803','刘三','女','CS',22);select * from sss;create or replace trigger jiaxin_need_bumen
before update on sss
for each row
Begin
if(dept is null) then
dept := 'cs';
end if;
End;
-------a.txt----------保存之后再次使用 start "c:\....(地址就省略了)\a.txt" ,结果变这样:SNO SNAME SEX ....
---- ----- --- -----------
801 张一 ....(省略了)
802 ... ....
803 ... ...
9 _本来应该是SQL>的地方变成了个9(应该是行号),这时候继续输入指令,比如:SNO SNAME SEX ....
---- ----- --- -----------
801 张一 ....(省略了)
802 ... ....
803 ... ...
9 select * from sss;然后按回车,没用。。会变下面这样:SNO SNAME SEX ....
---- ----- --- -----------
801 张一 ....(省略了)
802 ... ....
803 ... ...
9 select * from sss;
10 _输入指令无效了。。一直不执行,按回车也一样。这时候输入什么都没反应,只好关掉CMD重新打开,郁闷死了。。