我如何在 PL/SQL 中创建一个可以创建限制的触发器,以便他们只能放置 1 个字符?

How can I create a trigger in PL/SQL that can create a restriction so that they can only put 1 character?

CREATE OR REPLACE TRIGGER sexo_A
Before update or insert of sexo on ator
for each row 
when (
    if (new.sexo = 'F')
    then
        return 1;
    elseif (new.sexo = 'M')
    then
        return 1;
    else
    then
        return 0;
    end if;)
begin
RAISE_APPLICATION_ERROR('Só pode meter "F" para feminino e "M" para masculino');
end;

我想做的是在他们尝试更新或插入属性 "sexo" 时设置一个限制,用户只能输入字符 'F'(对于女性)或 'M'(男性)。

这不是触发器的工作。使用 check constraint 代替:

ALTER TABLE ator ADD CONSTRAINT ckgender CHECK (sexo IN ('M', 'F'));

如果你真的想滥用触发器:

CREATE OR REPLACE TRIGGER trg_sexo
BEFORE UPDATE OR INSERT OF sexo ON ator
FOR EACH ROW
BEGIN
    IF (:NEW.sexo NOT IN ('M', 'F'))
    THEN
        RAISE_APPLICATION_ERROR(-20000, 'Só pode meter "F" para feminino e "M" para masculino');
    END IF;
END trg_sexo;
/