Comment créer des fonctions PL/SQL

Comment créer des fonctions PL/SQL - ASP - Programmation

Marsh Posté le 16-09-2004 à 18:09:02    

Bonjour,
Alors, j'ai parcouru le forum, mais je n'ai trouvé que des posts au sujet de l'utilisation de script PL/SQL.  
Mais ce que je veux, c'est pouvoir le créer !  :heink:  
J'ai un script PL/SQL que je crée sous Oracle via sqlplus pour le moment
Voici mon script :
 
create or replace function to_dat(jul in number) return char is
j char(10);
begin
j:=to_char(to_date(jul + 2378496,'J'), 'DD/MM/YYYY');
return j;
end;
/
 
Mes pages ASP utilisent bien ce script  :ange:  mais lorsque j'arrete la base ou la restore, je suis obligé de retourner dans sqlplus pour les recréer.  :fou:  
 
Quelqu'un connait-il la syntaxe pour créer cette fonction en ASP ?!

Reply

Marsh Posté le 16-09-2004 à 18:09:02   

Reply

Marsh Posté le 17-09-2004 à 13:07:59    

tumbler a écrit :

Bonjour,
Alors, j'ai parcouru le forum, mais je n'ai trouvé que des posts au sujet de l'utilisation de script PL/SQL.  
Mais ce que je veux, c'est pouvoir le créer !  :heink:  
J'ai un script PL/SQL que je crée sous Oracle via sqlplus pour le moment
Voici mon script :
 
create or replace function to_dat(jul in number) return char is
j char(10);
begin
j:=to_char(to_date(jul + 2378496,'J'), 'DD/MM/YYYY');
return j;
end;
/
 
Mes pages ASP utilisent bien ce script  :ange:  mais lorsque j'arrete la base ou la restore, je suis obligé de retourner dans sqlplus pour les recréer.  :fou:  
 
Quelqu'un connait-il la syntaxe pour créer cette fonction en ASP ?!


 
créer ta procedure stockée :
http://www.infini-fr.com/Sciences/ [...] plsql.html

Reply

Marsh Posté le 17-09-2004 à 13:59:08    

Salut Alien_nan,
Je sais créer des scripts PL/SQL  :D , mais ce que je ne sais pas faire, c'est de les déclarer via l'asp  :( . En gros, de mon site on peut se connecter à toutes les bases oracles visibles. Mais, je ne veux pas avoir à déclarer ces scripts sur chaques bases via sqlplus. C'est pourquoi, je veux qu'après la connection, ma page asp execute une commande ( qui est celle qui me manque  :cry:  ) de déclaration de ces scripts  :jap: .
 
J'ai beau chercher, je tombe toujours sur des pages web comme celle qui correspond à ton lien.
 
As-tu une idée ?

Reply

Marsh Posté le 17-09-2004 à 14:02:47    

Les procédures stockées sont pas censées disparaître à l'arrêt de la base !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 17-09-2004 à 14:42:36    

En fait, c'est plus complexe !  :sweat:  
Ce site permet de se connecter à des bases où sont executés des traitements batch ( pour visualiser les traitements en temps réel ).  
Une fois fini, j'effectue une restore ( a froid ) de ces bases. D'ou mon problème à devoir recréer tous ces scripts !

Reply

Marsh Posté le 17-09-2004 à 15:01:59    

tumbler a écrit :

En fait, c'est plus complexe !  :sweat:  
Ce site permet de se connecter à des bases où sont executés des traitements batch ( pour visualiser les traitements en temps réel ).  
Une fois fini, j'effectue une restore ( a froid ) de ces bases. D'ou mon problème à devoir recréer tous ces scripts !


 
Pourquoi ne pas integrer tes procedures ds ta base que tu restores ?

Reply

Marsh Posté le 17-09-2004 à 15:11:30    

Mon problème est peut-être ailleurs effectivement !
En fait lorsque je crée un nouveau jeu de données dans une de mes bases, ce dernier ne connait pas la fonction. Mais peut-être existe-t-il un moyen de créer une fonction visible pour tous les owners d'une base Oracle ?!

Reply

Marsh Posté le 17-09-2004 à 17:06:54    

Bon, je viens de me renseigner.
Les fonctions sont definies niveau jeu de données  :cry: .
C'est bien ce que je craignait. Cela veux dire qu'a chaque nouveaux jeu de données il faut recréer la fonction.  :fou:  
 
Et je voudrais donc, que notre portail d'accès aux bases les déclare à la connexion.  
 
Donc, pour toute info, je suis preneur ! Merci d'avance.  :jap:

Reply

Marsh Posté le 17-09-2004 à 17:17:10    

:heink: tu ne peux pas restorer ta base, insérer ta fonction, faire un backup et utiliser celle la pour faire tes backup ?? (il me semble que c'est ce que j'avais evoqué avt ? )

Reply

Marsh Posté le 21-09-2004 à 16:27:18    

Ayé, j'ai trouvé.
 
Il faut utiliser "vbCrLf" pour le retour chariot ( je savait  pas  :whistle: ) et ne pas mettre le "/" de fin de script.
 
Voici le résultat :
<%
...
function_to_jul = "create or replace function to_jul(dat in char) return number is" & vbCrLf & "j number;" & vbCrLf & "begin" & vbCrLf & "j:=to_char(to_date(dat,'DD/MM/YYYY'), 'J')-2378496;" & vbCrLf & "return j;" & vbCrLf & "end;" & vbCrLf
 
Set fctn_to_jul = objConn.Execute (function_to_jul)
...
%>
 :sol:  
On peut ainsi se connecter sur toutes les bases même après restoration, ou import de nouveau owner, ... nickel !
 
Merci pour vos infos. :jap:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed