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