create or replace trigger ins_staff_trigger after insert on Staff
referencing new as nrow
for each row
declare uname varchar(30);
ucount number;
sql_str varchar2(100);
begin
uname:='user_'||:nrow.personid;
select count(*) into ucount from dba_users where username=uname;
if ucount>=1 then
sql_str := 'create user uname identified by '||:nrow.password;
execute immediate sql_str;
dbms_output.put_line('user altered');
else
dbms_output.put_line('no user');
end if;
end;
/
referencing new as nrow
for each row
declare uname varchar(30);
ucount number;
sql_str varchar2(100);
begin
uname:='user_'||:nrow.personid;
select count(*) into ucount from dba_users where username=uname;
if ucount>=1 then
sql_str := 'create user uname identified by '||:nrow.password;
execute immediate sql_str;
dbms_output.put_line('user altered');
else
dbms_output.put_line('no user');
end if;
end;
/
:nrow.personid为number型的.
是不是'user_'||:nrow.personid要出错的.有什么数子转字符串的函数吗?
to_char()
select count(*) into ucount from dba_users where username=uname;出错了
奇怪啊