I have a procedure as below to disable triggers. When I execute only the first trigger is disabled. Rest of the triggers are not disabled. But when executing the same code as pl/sql by replacing the "PROCEDURE disable_trigger AS" to declare and run a PL/SQL script it disables all triggers.

PROCEDURE disable_trigger
AS
CURSOR trigger_cur
IS
SELECT *
FROM all_triggers
WHERE owner = 'EDWDM';

build_sql VARCHAR2 (500);
BEGIN
FOR tc IN trigger_cur
LOOP
build_sql :=
'ALTER TRIGGER SIEBEL.' || tc.trigger_name || ' DISABLE';

EXECUTE IMMEDIATE (build_sql);
END LOOP;
END;

Thank you for the help