Is clocking block driving logic is equivalent to the following?

could you please clarify whether the following clocking block logic shown in snippet::2 is equivalent to the folloiwng logic shown in snippet 1? and also could you please clarify whether it is procedural block or continuous assignment block.

snippet::1

@(posedge interface.clk);
 #0 interface.output_signal=value;

snippet2::

interface.clockingblock.output_signal=value;

Snippit2 is illegal syntax. You can only make assignments to a clocking block output signal using a “drive” statement in a procedural block. See section 14.16 Synchronous drives in the IEEE 1800-2023 SystemVerilog LRM.