En NZPLSQL, los parámetros no tienen nombre. En lugar de ello, sólo se pasan los tipos de datos y se hace referencia a los parámetros por su posición.
CREATE OR REPLACE PROCEDURE p1 (int, varchar(ANY)) RETURNS int
LANGUAGE NZPLSQL AS
BEGIN_PROC
DECLARE
pId ALIAS FOR $1;
pName ALIAS FOR $2;
BEGIN INSERT INTO t1 SELECT * FROM t2 WHERE id = pId;
DECLARE
pId ALIAS FOR $1;
vID integer;
BEGIN vId := ISNULL(pId, 0);
INSERT INTO t1 SELECT * FROM t2 WHERE id = vId;