Crear un procedimiento almacenado

Después de crear el cuerpo del procedimiento almacenado, añádalo utilizando el mandato CREATE [OR REPLACE] PROCEDURE. Especifique este mandato en un indicador de mandatos SQL.

El mandato CREATE PROCEDURE crea un procedimiento. Para utilizar este mandato, debe ser el usuario administrador, el propietario de la base de datos, el propietario del esquema (sistemas de varios esquemas) o tener el privilegio para crear procedimientos. El mandato CREATE OR REPLACE PROCEDURE crea un procedimiento si aún no existe ninguno con la firma especificada o actualiza un procedimiento existente con la firma coincidente para los nuevos (o diferentes) valores de campo. Para sustituir un procedimiento, debe tener el privilegio para modificar (Alter).

Por ejemplo, el procedimiento siguiente customer() graba una serie del nombre de cliente en el registro de base de datos utilizando la sentencia RAISE NOTICE:
TEST.TESTSCH(USR)=> CREATE PROCEDURE customer()
RETURNS INT4 LANGUAGE NZPLSQL AS
BEGIN_PROC
    BEGIN
        RAISE NOTICE 'The customer name is alpha';
    END;
END_PROC;
CREATE PROCEDURE

Dado que no se han especificado los permisos de usuario de ejecución en la línea de mandatos, el mandato utiliza el valor predeterminado de EXECUTE AS OWNER.

Si desea cambiar el procedimiento de cliente para especificar un nuevo valor de retorno, puede utilizar un mandato CREATE OR REPLACE PROCEDURE similar al siguiente, pero debe especificar todos los campos necesarios (por ejemplo lenguaje y el cuerpo de procedimiento completo) incluso si sus valores no han cambiado, de la manera siguiente:
TEST.TESTSCH(USR)=> CREATE OR REPLACE PROCEDURE customer()
RETURNS INT8 LANGUAGE NZPLSQL AS
BEGIN_PROC
    BEGIN
        RAISE NOTICE 'The customer name is alpha';
    END;
END_PROC;
CREATE PROCEDURE

También puede utilizar el mandato ALTER PROCEDURE para modificar determinadas características de un procedimiento definido.