ALTER PROCEDURE name AS block
The ALTER block should not include CREATE VIRTUAL PROCEDURE.
CREATE VIRTUAL PROCEDURE
You can prefix the ALTER block with a cache hint for cached procedures.