|
Posted by Masterx81 on 07/06/07 16:04
Hi to all...
I've a little trouble with a t-sql db...
I've 2 tables int he db.
On the child table i've a trigger that do some controls and some
calcs
that are saved on a 3 table.
When i've created the db, i've added the reference from the child to
the parent, with the option ON DELETE CASCADE.
The problem is that when i remove the child (via the reference) rows,
i must access some data that are on the parent table.
What i can do to access with the trigger to the parent row data while
removing the child rows?
Follow the SQL code that give me the problem:
----------------------------------------------------
CREATE DATABASE Attrezzature
use attrezzature
CREATE TABLE Movimenti (id int NOT NULL IDENTITY (1, 1) PRIMARY KEY
("id"), cod_movimento int)
CREATE TABLE AttrezzatureMovimento (id int NOT NULL IDENTITY (1, 1)
PRIMARY KEY ("id"), id_movimento int REFERENCES movimenti(id) ON
DELETE CASCADE)
INSERT INTO movimenti (cod_movimento) VALUES (333)
INSERT INTO AttrezzatureMovimento (id_movimento) VALUES (1)
CREATE TRIGGER TR_DEL_QTAMovimento
ON AttrezzatureMovimento
FOR DELETE
AS
DECLARE @test int
SET @test = (select cod_movimento from movimenti where id = (select
id_movimento from Deleted))
if (@test IS NULL)
BEGIN
RAISERROR ('Impossibile predere i dati dalla tabella padre!',
18,1)
ROLLBACK TRANSACTION
RETURN
END
delete from movimenti where id = 1
----------------------------------------------------
What i can do???
Very thanks!
Navigation:
[Reply to this message]
|