An anonymous block in PL/SQL is a block of code that is not stored in the database with a name. It is constructed dynamically, compiled, and executed once during a session. Producures/functions are stored blocks, while triggers are associated with database events.