Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在oracle中插入表后自动添加word值_Oracle - Fatal编程技术网

如何在oracle中插入表后自动添加word值

如何在oracle中插入表后自动添加word值,oracle,Oracle,我有这张桌子: create table a( id_a number(5) not null, name varchar2(15) not null, address varchar2(30), phone varchar2(12), constraint pk_a primary key (id_a) ); 在我插入表格之后, 我想在字段“name”中的值后面添加单词automatic 1,格雷斯,澳大利亚,011111 然后,我想在后面插入这个。值Grace自动将S、Comp添加

我有这张桌子:

create table a(
id_a number(5) not null, 
name varchar2(15) not null, 
address varchar2(30), 
phone varchar2(12), 
constraint pk_a primary key (id_a)
);
在我插入表格之后, 我想在字段“name”中的值后面添加单词automatic

1,格雷斯,澳大利亚,011111

然后,我想在后面插入这个。值Grace自动将S、Comp添加到单词后面

1,澳大利亚格雷斯S.公司,011111

谢谢您可以使用触发器(插入前-每行):


此触发器将自动更改“名称”列(仅当“名称”不为空时)

嗯?什么意思?“S.Comp”来自哪里?请具体说明。为什么要修改名称?如果您以后需要原始名称,该怎么办?我想在插入表a后在字段名称中添加关键字S.Comp automatic。您需要在手册中插入触发器之前查找。如果您要添加到所有名称中的是静态关键字,则可以使用视图,或添加虚拟字段以附加该后缀。如果标题在行与行之间可能发生变化,您可以添加一列来存储它。我可以在不使用触发器的情况下插入它吗?但是使用过程或函数。可以,但是不能使用直接插入,那么必须始终调用过程以在表中插入。
create trigger your_trigger_name before insert on a for each row
  when (new.name is not null)
begin
  :new.name := :new.name || ' S.Comp';
end;