Section courante

A propos

Section administrative du site

CREATE PROCEDURE

Créer une procédure
Oracle Database SQL  

Syntaxe

CREATE [OR REPLACE] PROCEDURE [schema.]procedure_name [
      argument IN [NOCOPY] datatype
      argument OUT [NOCOPY] datatype
      argument IN OUT [NOCOPY] datatype
   ]
   [AUTHID CURRENT_USER | AUTHID DEFINER] AS plsql_sub_program_body
CREATE [OR REPLACE] PROCEDURE [schema.]procedure_name [
      argument IN [NOCOPY] datatype
      argument OUT [NOCOPY] datatype
      argument IN OUT [NOCOPY] datatype
   ]
   [AUTHID CURRENT_USER | AUTHID DEFINER] AS LANGUAGE JAVA NAME ('string')
CREATE [OR REPLACE] PROCEDURE [schema.]procedure_name [
      argument IN [NOCOPY] datatype
      argument OUT [NOCOPY] datatype
      argument IN OUT [NOCOPY] datatype
   ]
   [AUTHID CURRENT_USER | AUTHID DEFINER] AS LANGUAGE C NAME name LIBRARY lib_name
      [AGENT IN (argument)] [WITH CONTEXT][PARAMETERS (parameters)]

Paramètres

Nom Description
CREATE PROCEDURE Ce paramètre permet de démarrer la création d'une procédure stockée.
OR REPLACE Ce paramètre permet de recréer une procédure existante sans provoquer d'erreur si elle existe déjà.
[schema.]procedure_name Ce paramètre permet d'indiquer le nom complet de la procédure, avec éventuellement le schéma auquel elle appartient.
argument Ce paramètre permet d'indiquer le nom d'un paramètre de la procédure.
IN Ce paramètre permet d'indiquer le mode d'entrée du paramètre : valeur fournie par l'appelant.
OUT Ce paramètre permet d'indiquer le mode de sortie du paramètre : valeur renvoyée à l'appelant.
IN OUT Ce paramètre permet d'indiquer le mode d'entrée/sortie du paramètre : la valeur est modifiée par la procédure.
NOCOPY Ce paramètre permet d'indiquer que le paramètre doit être passé par référence (optimisation des performances, surtout pour les gros objets).
datatype Ce paramètre permet d'indiquer le type de données du paramètre (exemple : NUMBER, VARCHAR2, DATE,...).
AUTHID CURRENT_USER Ce paramètre permet d'indiquer la procédure s'exécute avec les privilèges du utilisateur appelant (sécurité basée sur le contexte d'exécution).
AUTHID DEFINER Ce paramètre permet d'indiquer la procédure s'exécute avec les privilèges du créateur de la procédure (valeur par défaut).
plsql_sub_program_body Ce paramètre permet d'indiquer le corps de la procédure en langage PL/SQL, contenant les instructions exécutées.
AS LANGUAGE JAVA NAME ('string') Ce paramètre permet d'indiquer qu'il s'agit d'une procédure Java et donne le nom Java complet de la méthode (signature entre guillemets simples).
AS LANGUAGE C NAME name Ce paramètre permet d'indiquer qu'il s'agit d'une procédure C et donne le nom de la fonction C dans la bibliothèque.
LIBRARY lib_name Ce paramètre permet d'indiquer le nom logique de la bibliothèque partagée déclarée dans Oracle (CREATE LIBRARY), contenant la fonction C.
AGENT IN (argument) Ce paramètre permet de spécifier un paramètre jouant le rôle d'agent (intermédiaire, souvent pour les appels distribués).
WITH CONTEXT Ce paramètre permet de fournir à la fonction C un contexte Oracle (OCIExtProcContext), utile pour des appels externes complexes.
PARAMETERS (parameters) Ce paramètre permet de cartographier les types Oracle aux types C, utile si la conversion par défaut ne convient pas.

Description

Cette instruction permet de créer une nouvelle base de données.

Remarques

Voir également

Article - Les géants de l'informatique - Oracle

Dernière mise à jour : Lundi, le 11 mai 2015