thank you it works correctly


Dirk Huppertz wrote:

jalil wrote:

hi every body I want to use a trigger before insert data but it dosen't check what inside he insert how can I do?
here is the example a my code.
Class VIDB.Manufacturer Extends %Persistent [ ClassType = persistent]
{


Property Name As %String;

Trigger Test [ Event = INSERT, Time=before ]
{
    New Manufacturer
 Set Manufacturer =##class(VIDB.Manufacturer).%New()
 If ((Manufacturer.Name = "a")) {
     Set $ZError="Quit $$$ERROR()"
     do $system.OBJ.DisplayError()
 }
}
}

when I do insert into VIDB.Manufacturer(Name) values ("a") it insert the data!!!!!!


Of course, it does. Inside your trigger code you
create a new Manufacturer object, which properties
are empty, never "a".

But you have to test the arguments which are passed
by your sql insert statement:

Trigger Test [ Event = INSERT ]
 {
    set %ok = 1
    if {Name*N} = "a" set %ok=0 quit
 }

Dirk.



Reply via email to