У меня есть триггер в Oracle SQL.
CREATE OR REPLACE TRIGGER test
BEFORE INSERT ON SomeTable
FOR EACH ROW
DECLARE str1 VARCHAR(30);
str2 VARCHAR(30);
BEGIN
-- some code
IF ( str1 <> str 2 ) THEN
DBMS_OUTPUT.PUT_LINE( ' if ' );
ELSE
DBMS_OUTPUT.PUT_LINE( ' else ' );
END IF;
END;
Теперь, это всегда относится к оператору else, даже когда строки определенно не равны. Я пытался использовать! = Вместо <> с тем же результатом. Тем не менее, это работает, наоборот, если я просто использую
IF ( str1 = str2 ) THEN ... ELSE ... END If;
Итак, как правильно проверить, что две строки не равны друг другу (в Oracle)?