0
即时试图创建一个表上的触发器与后续的特性MicrosoftSQL:如何创建一个触发器中的表和插入值
- 无论何时更新是在Project_Ypalliloi(表名)使用我想创建另一个表(例如deleted_Ypalliloi)
- 我想借删除线,并将其插入到新表
这是我的表:
create table Project_Ypalliloi
(
arithmos_taut int primary key not null,
onoma varchar(20)not null,
eponymo varchar(20)not null,
imerominia_proslipsis date not null,
imerominia_gennisis date not null,
misthos float
)
这是我的触发器:
CREATE TRIGGER deleteTrigger ON Project_Ypalliloi FOR DELETE AS --errorline1
DECLARE @arithmos_taut int
DECLARE @onoma varchar(20)
DECLARE @eponymo varchar(20)
DECLARE @imerominia_proslipsis date
DECLARE @imerominia_gennisis date
DECLARE @misthos float
DECLARE @getnamesCursor CURSOR
SET @getnamesCursor = CURSOR FOR
SELECT arithmos_taut,onoma,eponymo,imerominia_proslipsis,imerominia_gennisis,misthos FROM Project_Ypalliloi --where How can i get the deleted line?(under what condition?)
OPEN @getnamesCursor
FETCH NEXT FROM @getnamesCursor INTO @arithmos_taut,@onoma,@eponymo,@imerominia_proslipsis,@imerominia_gennisis,@misthos
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO deleted_Ypalliloi Values '('+rtrim(@arithmos_taut) + ',' + rtrim(@onoma) + ',' + rtrim(@eponymo) + ' ,' + rtrim(@imerominia_proslipsis) + ',' + rtrim(@imerominia_gennisis) + ', ' + rtrim(@misthos)+')'
--FETCH NEXT FROM @getnamesCursor INTO @c_name,@c_surname
END --errorline 2
CLOSE @getnamesCursor
DEALLOCATE @getnamesCursor
My trigger code is in the Query,and i get an error:"Incorrect Syndax at
errorline 1
anderrorline 2
非常感谢您的帮助
如果DELETED表中有多于1行,那么这将不起作用。 – Sami
也许我可以尝试检查,如果有超过1行。你认为这将工作? – Phill
我必须先创建一个名为deleted_Ypalliloi的表吗? – Phill