Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/08/2007, 14h31   #1
Membre régulier
 
Inscription : octobre 2005
Messages : 273
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 273
Points : 88
Points : 88
Par défaut Passage de paramètre pour procédure stockée

Bonjour à tous,

Voilà j'aimerais savoir comment passer des paramètres à une procédure stockée dans sql plus (ma base de données: oracle 10g). Sur MS SQL j'utilise le @ mais il semble que ce caractère ne soit pas bien interpreté avec oracle.

Merci
dumser1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 14h38   #2
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Que veux tu faire exactement ? Appel de fonctions dans une Requête SQL ? Execution de procédure ?
(preciser)
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 14h40   #3
Membre régulier
 
Inscription : octobre 2005
Messages : 273
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 273
Points : 88
Points : 88
exécution de procédure
dumser1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 14h42   #4
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Code :
1
2
3
4
 
 
Sql>exec toto(:mon_param1,:mon_param2);
Sql> exec toto ('tata',2,sysdate);
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 14h56   #5
Membre régulier
 
Inscription : octobre 2005
Messages : 273
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 273
Points : 88
Points : 88
merci pour ta réponse,

j'ai toujours une erreur quime dit qu'il rencontre des symboles create alors qu'il doit recevoir un begin etc.

voici ma requête en MS SQL:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
CREATE procedure sp_asb_whatsnewsincedate (@nodeid int, @startdate datetime) AS 
/* What's New since [date] (Today, This Week, This Month) within [project] */
CREATE TABLE #t1 (DataID int) 
CREATE TABLE #t2 (DataID int) 
CREATE TABLE #t3 (DataID int) 
INSERT INTO #t1 (DataID) values (@nodeid) 
while 0 < @@rowcount 
begin 
DELETE FROM #t3 
INSERT INTO #t3 (DataID) (select DataID from #t1) 
INSERT INTO #t2 (DataID) (select DataID from #t1) 
DELETE FROM #t1 
INSERT INTO #t1 (DataID) (select D.DataID from DTree D JOIN #t3 T ON D.ParentID = T.DataID where D.SubType = 202) 
end 
SELECT D.*, 
       V.Icon, 
       V.MimeType, 
       CONVERT(varchar,D.CreateDate,103)+ ' ' + CONVERT(varchar,D.CreateDate,108) AS Created, 
       CONVERT(varchar,V.VerCDate,103) + ' ' + CONVERT(varchar,V.VerCDate,108) AS Updated 
FROM (DTree D JOIN #t2 T ON D.OwnerID = T.DataID) LEFT OUTER JOIN DVersData V ON D.DataID = V.DocID AND D.VersionNum = V.Version 
WHERE D.SubType IN (4,128,130,134,140,144,208,215,2002,2070,2103,2107,2108,2112,2117,2114) AND 
    ((V.VerCDate > @startdate AND V.Version = D.VersionNum) OR 
     (D.CreateDate > @startdate AND V.Version IS NULL)) 
ORDER BY D.ModifyDate DESC, D.CreateDate DESC 
DROP TABLE #t1 
DROP TABLE #t2 
DROP TABLE #t3
Une idée pour la modifier et l'executer?

Merci
dumser1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 14h59   #6
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Ca :
Citation:
while 0 < @@rowcount
begin
DELETE FROM #t3
INSERT INTO #t3 (DataID) (select DataID from #t1)
INSERT INTO #t2 (DataID) (select DataID from #t1)
DELETE FROM #t1
INSERT INTO #t1 (DataID) (select D.DataID from DTree D JOIN #t3 T ON D.ParentID = T.DataID where D.SubType = 202)
end
n'est ni du SQL ni du PL/SQL !
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 15h02   #7
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Et tout le reste non plus (tu ne peux pas creer une table dans une procedure par 'CREATE....')

Tu devrais d'abord chercher la



ou consulter la
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 15h08   #8
Membre régulier
 
Inscription : octobre 2005
Messages : 273
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 273
Points : 88
Points : 88
bizarre car ca marche parfaitement sur SQL SERVER
dumser1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 15h11   #9
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Oui, mais tu es dans un forum ORACLE !
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 17h18   #10
Membre actif
 
Avatar de Scual
 
Inscription : avril 2006
Messages : 149
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2006
Messages : 149
Points : 185
Points : 185
Envoyer un message via MSN à Scual
Citation:
Envoyé par Garuda
Et tout le reste non plus (tu ne peux pas creer une table dans une procedure par 'CREATE....')
Techniquement parlant si avec du SQL dynamique

Corrigez-moi si je me trompe

++
Scual est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 19h24   #11
Membre confirmé
 
Inscription : août 2005
Messages : 270
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 270
Points : 294
Points : 294
Citation:
Envoyé par dumser1
bizarre car ca marche parfaitement sur SQL SERVER
c'est du transact sql, pas du pl sql.
ce n'est pas du sql (vaguement normalisé).
Les langages proceduraux ajoutés par les éditeurs (transact, pl) ne sont pas du tout normalisés.
Tu es en quelque sorte en train de lancer du code visual Basic via une JVM et en effet, cela ne marche pas.
jmguiche est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h27.


 
 
 
 
Partenaires

Hébergement Web