我想實現的是我有一個表,稱爲訂單。 我想在我的訂單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