salut,
Quelle difference existent il entre une procedure et une procedure stocké ?
Est ce que vous utiliser souvent des requetes dynamique ?curseur dynamique ?
Merci à tous
salut,
Quelle difference existent il entre une procedure et une procedure stocké ?
Est ce que vous utiliser souvent des requetes dynamique ?curseur dynamique ?
Merci à tous
une procédure est stockée lorsqu'elle est sauvegarder dans la base via CREATE PROCEDURE.
une procédure est un programme pl/sql qui ne retourne rien (contrairement à une fonction qui retourne une valeur).Envoyé par Fred_D
tu peux trouver une procédure indépendante (create procedure), ou comme sous programme d'un package, voire comme sous programme d'une autre procedure ou d'un bloc anonyme (rare)
dans la pratique, une procédure est toujours "stockée".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SCOTT@LSC01> declare procedure p is begin null; end; begin p; end; 2 / PL/SQL procedure successfully completed.
en gros une procedure est toujours stocké mais c'est la synthaxe qui change en fonction qu'elle soit dans un package ou dans un fichier .sql ?
donc il n'y a pas de reel difference,sauf qu'une procedure stocké peut être appeler par n'importe et n'importe quand c'est bien cela (si on met une procedure dans un package on est obliger de lancer le package avant et la procedure stocker on peut la lancer directement)?
non, une procédure de package peut tout aussi bien être appelée directementEnvoyé par Melvine
je pense qu'il s'agit de vocabulaire. On parle de "Java Stored Procedure", mais de "Procédure PL/SQL", le terme "PL/SQL stored procedure" n'apparait que rarement dans la doc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part exec mypack.myproc
en gros, c'est bonnet blanc blanc bonnet
je crois qu'il y a une incompréhension là... Melvine a parfaitement raison, le code PL/SQL (la procédure) peut être appelé dans un fichier ou dans la base lorsqu'il est stockée... dans ce cas c'est une procédure stockée.
Fred, alors à ton sens il serait correct d'appeler un bloc anonyme une "procédure non-stockée" ? Ce n'est pas très rigoureux à mon goûtEnvoyé par Fred_D
exactement, une procédure est ni plus ni moins qu'un code PL/SQL qui n'a aucune valeur de retour. Ceci étant... le terme n'existe pas
On parle de procédure stockée ou code PL/SQL... la procédure "non stockée" n'existe pas dans le vocabulaire Oracle
en fait on parle de PROCEDURE tout court 8)
il y a non-sens là non !?Envoyé par laurentschneider
une procédure est forcément nommée; donc elle porte un nom !
Alors qu'un bloc ANONYME n'a pas de nom !
Non, un bloc anonyme est un fichier, et ce fichier a un nom.Envoyé par Yorglaa
En fait ne devrait-on pas dire "procédure pré-compilée", et "non compilée" ?
Vous vous prenez bien la tête !
Une procédure est dite stockée lorsqu'elle est ...... stockée en base et donc persistante!
Sinon, elle est déclarée dans un bloc anonyme et ne persiste que le temps de son utilisation dans le bloc.
le feedback ci-dessus est bien déroutant... il laisse croire qu'un bloc anonyme est une procédure (pas stockée).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SQL> exec null PL/SQL procedure successfully completed.
Juste une question de vocabulaire et de prise de tête aussi :idc:
http://www.alaide.com/dico.php?q=proc%E9dure&ix=3742
M'enfin... je dis ça moi... je dis rien... c'est juste pour faire avancer le schimilibilick !Procédure
Manière de procéder d'exécuter une activité ou un processus pour aboutir à un certain résultat. Document décrivant la manière d'accomplir une activité ou un processus.
Une procédure comporte l'objet et le domaine d'application de l'activité ou du processus et décrit :
* ce qui doit être fait ;
* qui doit le faire ;
* quand, où, comment cela doit être fait ;
* quels moyens doivent être utilisés ;
* comment cela doit être enregistré et maîtrisé.
plus spécifique à oracle
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/procedure_declaration.htm
et
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/subprograms.htm#i4075
Une procédure est un sous-programme qui exécute des actions spécifiques. Tu spécifies le nom de la procédure, ses paramètres, ses variables locales, et le block BEGIN-END qui contient son code et gère ses exceptions....
Envoyé par pifor
Je pinaille peut-être, mais les paramètres OUT, ne sont-ils pas considérés comme valeur de retour ?Envoyé par laurentschneider
@+,
NicK.
selon moi non, mais c'est discutable ;-)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager