Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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
pl sql触发器从序列中插入值_Sql_Oracle_Plsql_Triggers - Fatal编程技术网

pl sql触发器从序列中插入值

pl sql触发器从序列中插入值,sql,oracle,plsql,triggers,Sql,Oracle,Plsql,Triggers,我得到的错误如下: create table userdetail( userdetailsid number(3) not null, userid varchar2(5), firstname varchar2(15), lastname varchar2(15), email varchar2(15), primary key (userdetailsid) ); create sequence Iseq start with 1 increment by 1;

我得到的错误如下:

create table userdetail(
  userdetailsid number(3) not null,
  userid varchar2(5),
  firstname varchar2(15),
  lastname varchar2(15),
  email varchar2(15),
  primary key (userdetailsid)
);

create sequence Iseq
start with 1
increment by 1;

create or replace trigger userDetailInsert
before insert on userdetail
begin
  :userdetailsid:=Iseq.nextval;
end;

:userdetailsid
中删除,或将
:old.
/
:new
一起用于每行

Error at line 2: PLS-00049: bad bind variable 'USERDETAILSID'
如果使用的是
,则列名将被视为一个


一般来说,如果要引用旧值或新值,请使用
:old.userdetailsid
resp<代码>:new.userdetailsid

谢谢,但是当我删除“:”时,仍然会遇到另一个错误,第2行的错误:PL/SQL:Statement被忽略1。创建或替换触发器userDetailInsert 2。在userdetail 3上插入之前。从4开始。userdetailsid:=Iseq.nextval;好的,我不确定您试图实现什么,但我认为您想用序列值覆盖所有
id
?在这种情况下,您需要为每行添加
:新建。
。请参见上面的更改:)
create or replace trigger userDetailInsert
before insert on userdetail for each row
begin
   :new.userdetailsid:=Iseq.nextval;
end;