我想实现的是我有一个表,称为订单。 我想在我的订单table.i上执行之前的插入触发器,我想捕获执行INSERT的人的 用户名到表中。 一张表包含用户的信息。我想执行之前的插入触发器,但我得到的SQL错误
这是我的代码
create table orders
(
order_id int,
quantity int,
cost int,
total_cost int,
created_date datetime,
created_by varchar(20)
)
create trigger beforeInsertdata
before insert
on orders
for each row
declare
v_username varchar2(10);
begin
-- Find username of person performing INSERT into table
SELECT user INTO v_username
FROM info;
-- Update create_date field to current system date
:new.create_date := sysdate;
-- Update created_by field to the username of the person performing the INSERT
:new.created_by := v_username;
END;
--user information--
create table info
(
userid int ,
user_name varchar(10)
)
insert into info values(1,'vivek')
select * from info
不能*执行*或*执行*触发 - SQL Server将自动做到这一点,适当 – 2011-05-10 06:28:09
时,这不是有效的SQL Server/T-SQL语法:'每个row'以及:' :new.create_date:= sysdate;' – 2011-05-10 06:28:47
现在只有我得到了答案,因为SQL服务器不支持之前的插入触发器,它只支持after,而不是trigger.i认为只有在插入trigger.sory之前oracle支持这个为此---- – 2011-05-10 06:43:03