Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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 14/03/2006, 15h18   #1
Invité de passage
 
Inscription : octobre 2005
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 21
Points : 4
Points : 4
Par défaut Problème PL/SQL Oracle 8

salut,

je pense que j'ai un soucis de syntaxe dans ma requete PL/SQL, mais je ne vois pas d'ou cela pourrait venir.
Je suis bloqué la dessus depuis 2 jours, est-ce que quun pourrait m'aider.
Comme je débute en PL/SQL je ne connais pas encore les subtilité du langage...

Voici mon message d'erreur :

Numéro de ligne = 1 Numéro de colonne = 37 Texte d'erreur = PLS-00103: Symbole "DECLARE" rencontré à la place d'un des symboles suivants : ( ; is with authid as cluster compress order using compiled wrapped external deterministic parallel_enable pipelined


et voici une partie de la requete que j'aimerais avoir en procédure stocké sur Oracle :

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
29
30
31
32
33
34
35
36
37
38
 
declare
	-- Dans la variable utf mettre la valeur de lutf choisie ou une liste dutf spéparées par des virgules
	utf varchar2(255) := '21416';
 
	-- Variables
	j	number;
	taille varchar2(255) := '';
	coloris varchar2(255) := '';
	codeBarre varchar2(255) := '';
	temp varchar2(255) := '';
 
	cursor getStock IS
		SELECT	UTF_IDTUTF, UTF_LIB, UTF_DESCR, ART_TYPE, fab_raisoc, utf_idtutf_pere, fou_lib, mar_lib, art_reffab, art_idtart, art_lib, ray_lib, tym_lib, fmm_lib, mam_lib, srt_physique, srt_reserve, NVL((SRT_PHYSIQUE - SRT_RESERVE), 0) AS dispo, srt_qtepeniche, srt_qtepropfour, srt_qtepropfourreserv, srt_qtecdefour, srt_qtecdefourreserv, srt_pamp 
		FROM ref_tg_lien_art_sto_utf
 				INNER JOIN ref_tg_article ON ART_IDTART = ART_STO_UTF_IDTART  
 				INNER JOIN REF_TG_STOART ON SRT_IDTART = ART_STO_UTF_IDTART 
 					  AND SRT_IDTSTO = ART_STO_UTF_IDTSTO 
 					  AND SRT_IDTUTF = ART_STO_UTF_IDTUTF
				INNER JOIN ref_tg_unitefonctionnelle ON UTF_IDTUTF = ART_STO_UTF_IDTUTF
				INNER JOIN ref_op_fabricant ON art_idtfab = fab_idtfab
				INNER JOIN ref_op_lien_fou_ucd_art_tarif ON fat_idtart = art_idtart
					AND fat_ordre = 1
					AND fat_valide = 1
					AND fat_datedeb <= SYSDATE
					AND (fat_datefin >= SYSDATE OR fat_datefin IS NULL)
				INNER JOIN ref_tg_fournisseur ON fou_idtfou = fat_idtfou
				LEFT JOIN ref_op_marque ON art_idtmar = mar_idtmar
				LEFT JOIN ref_op_rayon ON art_idtray = ray_idtray
				LEFT JOIN ref_op_typemonture ON art_idttym = tym_idttym
				LEFT JOIN ref_op_famillemonture ON art_idtfmm = fmm_idtfmm
				LEFT JOIN ref_op_materiaumonture ON art_idtmam = mam_idtmam
		WHERE art_sto_utf_idtutf IN('21416')
			  AND art_type IN ('MON', 'DIV')
			  AND (art_datefinvie >= SYSDATE OR art_datefinvie IS NULL)
			AND fmm_lib IN ('Percée');
 
BEGIN ... etc...
alex007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 15h37   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Si vous voulez mettre votre code en procédure stockée que je suppose sans paramètre, il faut écrire sans DECLARE:

Code :
1
2
3
4
5
6
7
 
CREATE OR REPLACE PROCEDURE myproc 
[IS | AS ]
< déclarer vos VARIABLES sans le mot clé DECLARE>
BEGIN
<le code de votre procédure>
END;
L'utilisation de DECLARE est réservée à des blocs PL/SQL anonymes = du code qui n'est pas dans une procédure ou une fonction.
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 15h40   #3
Invité de passage
 
Inscription : octobre 2005
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 21
Points : 4
Points : 4
Par défaut PL-SQL

Merci, je vais travailler la dessus
alex007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 15h40   #4
Membre émérite
 
Avatar de Yorglaa
 
Inscription : janvier 2004
Messages : 845
Détails du profil
Informations personnelles :
Âge : 41
Localisation : Suisse

Informations forums :
Inscription : janvier 2004
Messages : 845
Points : 939
Points : 939
si tu crées une procédure (ou une fonction), enlève le mot DECLARE.
la déclaration des variables, curseurs etc se fait directement après le mot clef AS (ou IS).

DECLARE n'est valable que pour débuter un bloc anonyme.

Code :
1
2
3
4
5
6
7
CREATE OR REPLACE MaProcedure ( nParam1 IN Number)
AS
    /* ici je déclare mes variables */
    Var1    Number ;
Begin
    ....
End ;

EDIT :
Damn !!! coiffé au poteau !
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

Yorglaa
Yorglaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 15h53   #5
Invité de passage
 
Inscription : octobre 2005
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 21
Points : 4
Points : 4
Par défaut PL-SQL

OUULA ...

Je comprend pas tout ...

j'ai enlever le DECLARE, mais maintenant j'ai d'autres erreurs.

voila le code modifié (je pense qu'il y a d'autres erreurs) :



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
29
30
31
32
33
34
35
36
37
38
39
40
 
CREATE OR REPLACE PROCEDURE statstock
 
 
 -- Dans la variable utf mettre la valeur de lutf choisie ou une liste dutf spéparées par des virgules
	utf varchar2(255) := '21416';
 
	-- Variables
	j	number;
	taille varchar2(255) := '';
	coloris varchar2(255) := '';
	codeBarre varchar2(255) := '';
	temp varchar2(255) := '';)
 
	cursor getStock IS
		SELECT	UTF_IDTUTF, UTF_LIB, UTF_DESCR, ART_TYPE, fab_raisoc, utf_idtutf_pere, fou_lib, mar_lib, art_reffab, art_idtart, art_lib, ray_lib, tym_lib, fmm_lib, mam_lib, srt_physique, srt_reserve, NVL((SRT_PHYSIQUE - SRT_RESERVE), 0) AS dispo, srt_qtepeniche, srt_qtepropfour, srt_qtepropfourreserv, srt_qtecdefour, srt_qtecdefourreserv, srt_pamp 
		FROM ref_tg_lien_art_sto_utf
 				INNER JOIN ref_tg_article ON ART_IDTART = ART_STO_UTF_IDTART  
 				INNER JOIN REF_TG_STOART ON SRT_IDTART = ART_STO_UTF_IDTART 
 					  AND SRT_IDTSTO = ART_STO_UTF_IDTSTO 
 					  AND SRT_IDTUTF = ART_STO_UTF_IDTUTF
				INNER JOIN ref_tg_unitefonctionnelle ON UTF_IDTUTF = ART_STO_UTF_IDTUTF
				INNER JOIN ref_op_fabricant ON art_idtfab = fab_idtfab
				INNER JOIN ref_op_lien_fou_ucd_art_tarif ON fat_idtart = art_idtart
					AND fat_ordre = 1
					AND fat_valide = 1
					AND fat_datedeb <= SYSDATE
					AND (fat_datefin >= SYSDATE OR fat_datefin IS NULL)
				INNER JOIN ref_tg_fournisseur ON fou_idtfou = fat_idtfou
				LEFT JOIN ref_op_marque ON art_idtmar = mar_idtmar
				LEFT JOIN ref_op_rayon ON art_idtray = ray_idtray
				LEFT JOIN ref_op_typemonture ON art_idttym = tym_idttym
				LEFT JOIN ref_op_famillemonture ON art_idtfmm = fmm_idtfmm
				LEFT JOIN ref_op_materiaumonture ON art_idtmam = mam_idtmam
		WHERE art_sto_utf_idtutf IN(utf)
			  AND art_type IN ('MON', 'DIV')
			  AND (art_datefinvie >= SYSDATE OR art_datefinvie IS NULL)
			AND fmm_lib IN ('Percée');
 
BEGIN
alex007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 15h55   #6
Membre émérite
 
Avatar de Yorglaa
 
Inscription : janvier 2004
Messages : 845
Détails du profil
Informations personnelles :
Âge : 41
Localisation : Suisse

Informations forums :
Inscription : janvier 2004
Messages : 845
Points : 939
Points : 939
il manque le mot clef IS ou AS (n'importe lequel, ça revient au même)

Citation:
CREATE OR REPLACE PROCEDURE statstock
AS
...
EDIT :

et tu as une parenthèse de trop à la fin de la déclaration de la variable temp
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

Yorglaa
Yorglaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 16h01   #7
Invité de passage
 
Inscription : octobre 2005
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 21
Points : 4
Points : 4
Par défaut PL-SQL ...

... on avance mais ça marche pas encore .

Voici la nouvelle erreur :

Numéro de ligne = 1 Numéro de colonne = 37 Texte d'erreur = PLS-00103: Symbole "CREATE" rencontré à la place d'un des symboles suivants : ( ; is with authid as cluster compress order using compiled wrapped external deterministic parallel_enable pipelined

Pour ce code : (en entier cette fois ci)

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
 
 
CREATE OR REPLACE PROCEDURE statstock
 IS
 
	utf varchar2(255) := '21416';
 
 
	j	number;
	taille varchar2(255) := '';
	coloris varchar2(255) := '';
	codeBarre varchar2(255) := '';
	temp varchar2(255) := '';
 
	cursor getStock IS
		SELECT	UTF_IDTUTF, UTF_LIB, UTF_DESCR, ART_TYPE, fab_raisoc, utf_idtutf_pere, fou_lib, mar_lib, art_reffab, art_idtart, art_lib, ray_lib, tym_lib, fmm_lib, mam_lib, srt_physique, srt_reserve, NVL((SRT_PHYSIQUE - SRT_RESERVE), 0) AS dispo, srt_qtepeniche, srt_qtepropfour, srt_qtepropfourreserv, srt_qtecdefour, srt_qtecdefourreserv, srt_pamp 
		FROM ref_tg_lien_art_sto_utf
 				INNER JOIN ref_tg_article ON ART_IDTART = ART_STO_UTF_IDTART  
 				INNER JOIN REF_TG_STOART ON SRT_IDTART = ART_STO_UTF_IDTART 
 					  AND SRT_IDTSTO = ART_STO_UTF_IDTSTO 
 					  AND SRT_IDTUTF = ART_STO_UTF_IDTUTF
				INNER JOIN ref_tg_unitefonctionnelle ON UTF_IDTUTF = ART_STO_UTF_IDTUTF
				INNER JOIN ref_op_fabricant ON art_idtfab = fab_idtfab
				INNER JOIN ref_op_lien_fou_ucd_art_tarif ON fat_idtart = art_idtart
					AND fat_ordre = 1
					AND fat_valide = 1
					AND fat_datedeb <= SYSDATE
					AND (fat_datefin >= SYSDATE OR fat_datefin IS NULL)
				INNER JOIN ref_tg_fournisseur ON fou_idtfou = fat_idtfou
				LEFT JOIN ref_op_marque ON art_idtmar = mar_idtmar
				LEFT JOIN ref_op_rayon ON art_idtray = ray_idtray
				LEFT JOIN ref_op_typemonture ON art_idttym = tym_idttym
				LEFT JOIN ref_op_famillemonture ON art_idtfmm = fmm_idtfmm
				LEFT JOIN ref_op_materiaumonture ON art_idtmam = mam_idtmam
		WHERE art_sto_utf_idtutf IN(utf)
			  AND art_type IN ('MON', 'DIV')
			  AND (art_datefinvie >= SYSDATE OR art_datefinvie IS NULL)
			AND fmm_lib IN ('Percée');
 
BEGIN
	dbms_output.enable(10000000000000);
	dbms_output.put_line( 'Code entité' || ';' || 'Lib. Entité' || ';' || 'Type Art.' || ';' || 'Fab.' || ';' || 'Fou.'  || ';' || 'Marque'  || ';' || 'Réf. Fab.'  || ';' || 'Réf. PVO'  || ';' || 'Désignation'  || ';' || 'Rayon'  || ';' || 'Type Monture'  || ';' || 'Famille' || ';' || 'Taille' || ';' || 'Coloris'  || ';' || 'Matériau' || ';' || 'Code-Barres' || ';' || 'Qté phys.' || ';' || 'Qté réservée' || ';' || 'Qté dispo' || ';' || 'Qté en péniche' || ';' || 'Prop. cde qté' || ';' || 'Prop cde réservée' || ';' || 'Cde qté' || ';' || 'Cde réservée' || ';' || 'Val.'   );
	FOR j IN getStock loop
 
		IF to_char(j.ART_TYPE) = 'MON' then
			SELECT NVL(CAA_ART_LIBVAL, '')
			INTO taille
			FROM REF_OP_CARA_ARTICLE, REF_OP_LIEN_CAA_ART
			WHERE CAA_ART_IDTCAA = CAA_IDTCAA
				AND CAA_ART_VALIDE = 1 
				AND CAA_VALIDE = 1 
				AND CAA_LIBCOURT='TAILLEMON'
				AND CAA_ART_IDTART= j.art_idtart;
		else
			taille := '';
		end IF;
 
		begin
			SELECT CAA_ART_LIBVAL
			INTO coloris
			FROM REF_OP_CARA_ARTICLE, REF_OP_LIEN_CAA_ART
			WHERE CAA_ART_IDTCAA = CAA_IDTCAA
				AND CAA_ART_VALIDE = 1 
				AND CAA_VALIDE = 1 
				AND CAA_LIBCOURT='COLORIMON'
				AND CAA_ART_IDTART = j.art_idtart;				
		exception
			when no_data_found then
						coloris := '';	
		end;
 
		begin
			SELECT MAX(PRD_IDTPRD)
			INTO codeBarre
			FROM REF_OP_PRODUIT 
			WHERE PRD_VALIDE = 1 
				AND PRD_DATEDEB <= SYSDATE  
				AND (PRD_DATEFIN >= SYSDATE OR PRD_DATEFIN IS NULL)
				AND PRD_IDTART = j.art_idtart
				AND PRD_IDTUTF = j.UTF_IDTUTF;				
		exception
			when no_data_found then
				 codeBarre := '';	
		end;
 
		IF codebarre IS NULL OR codebarre = '' then
			begin
 
				SELECT MAX(PRD_IDTPRD)
				INTO codeBarre
				FROM REF_OP_PRODUIT 
				WHERE PRD_VALIDE = 1 
					AND PRD_DATEDEB <= SYSDATE  
					AND (PRD_DATEFIN >= SYSDATE OR PRD_DATEFIN IS NULL)
					AND PRD_IDTART = j.art_idtart
					AND PRD_IDTUTF = j.UTF_IDTUTF_PERE;								
			exception
				when no_data_found then
					 codeBarre := '';	
			end;
 
			IF codebarre IS NULL OR codebarre = '' then
				begin
					SELECT UTF_IDTUTF_PERE
					INTO temp
					FROM ref_tg_unitefonctionnelle 
					WHERE UTF_IDTUTF = j.UTF_IDTUTF_PERE;
 
					begin
						SELECT MAX(PRD_IDTPRD)
						INTO codeBarre
						FROM REF_OP_PRODUIT 
						WHERE PRD_VALIDE = 1 
							AND PRD_DATEDEB <= SYSDATE  
							AND (PRD_DATEFIN >= SYSDATE OR PRD_DATEFIN IS NULL)
							AND PRD_IDTART = j.art_idtart
							AND PRD_IDTUTF = temp;										
					exception
						when no_data_found then
							 codeBarre := '';	
					end;									
				exception
					when no_data_found then
						 codeBarre := '';	
				end;
			end IF;
 
		end IF;
		dbms_output.put_line( REPLACE(to_char(j.UTF_IDTUTF), ';', ' ') || ';' || REPLACE(to_char(j.UTF_DESCR), ';', ' ') || ';' || REPLACE(to_char(j.ART_TYPE), ';', ' ') || ';' || REPLACE(to_char(j.FAB_RAISOC), ';', ' ') || ';' || REPLACE(to_char(j.fou_lib), ';', ' ')  || ';' || REPLACE(to_char(j.mar_lib), ';', ' ')  || ';' || REPLACE(to_char(j.art_reffab), ';', ' ')  || ';' || REPLACE(to_char(j.art_idtart), ';', ' ')  || ';' || REPLACE(to_char(j.art_lib), ';', ' ')  || ';' || REPLACE(to_char(j.ray_lib), ';', ' ')  || ';' || REPLACE(to_char(j.tym_lib), ';', ' ')  || ';' || REPLACE(to_char(j.fmm_lib), ';', ' ') || ';' || REPLACE(taille, ';', ' ') || ';' || REPLACE(coloris, ';', ' ')  || ';' || REPLACE(to_char(j.mam_lib), ';', ' ') || ';' || REPLACE(codebarre, ';', ' ') || ';' || REPLACE(to_char(j.srt_physique), ';', ' ') || ';' || REPLACE(to_char(j.srt_reserve), ';', ' ') || ';' || REPLACE(to_char(j.dispo), ';', ' ') || ';' || REPLACE(to_char(j.srt_qtepeniche), ';', ' ') || ';' || REPLACE(to_char(j.srt_qtepropfour), ';', ' ') || ';' || REPLACE(to_char(j.srt_qtepropfourreserv), ';', ' ') || ';' || REPLACE(to_char(j.srt_qtecdefour), ';', ' ') || ';' || REPLACE(to_char(j.srt_qtecdefourreserv), ';', ' ') || ';' || REPLACE(to_char(j.srt_pamp), ';', ' ')   );
	End Loop;
	NULL;
END;
alex007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 16h09   #8
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Vous avez peut-être un problème avec quelque chose qui est avant CREATE PROCEDURE ? Est-ce qu'il y a quelque chose avant CREATE PROCEDURE dans votre buffer sqlplus ou autre ?
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 16h20   #9
Invité de passage
 
Inscription : octobre 2005
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 21
Points : 4
Points : 4
Par défaut PL-SQL

Je ne connais pas trop SQL plus ,
qu'entendez-vous par Buffer ?

Sinon dans mon code il n'y a rien devant CREATE

Merci d'avance
alex007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 16h27   #10
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Le buffer sqlplus contient ce qui va être exécuté.
Quel est l'outil que vous utilisez pour créer la procédure PL/SQL ?

Vous pouvez essayer avec sqlplus de mettre votre code dans un fichier p.sql en ajoutant un "/" sur une ligne séparée tout à la fin
et de l'exécuter avec:
Code :
1
2
 
sqlplus <compte>/<mot de passe>@<instance> @p.sql
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 16h35   #11
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Peut-être que votre outil génére les motd clés suivants "CREATE PROCEDURE statproc IS" d'où l'erreur. Peut-être devez-vous supprimer ces mots clés avec votre outil ?
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 16h37   #12
Invité de passage
 
Inscription : octobre 2005
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 21
Points : 4
Points : 4
Par défaut PL-SQL

J'utilise ça (je connais pas le nom mais ce n'est pas SQL plus) cependant ça reste dans ORACLE :

j'ouvre Entreprise Manager Console \ Base de Donnée \ " ma base " \ Schema \ " mon objet de base " \ Type de ressource \ Procédure \ ...
a cet endroit j'ai la possibilité de faire une procédure

Voila
alex007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 16h58   #13
Invité de passage
 
Inscription : octobre 2005
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 21
Points : 4
Points : 4
Par défaut PL-SQL

C'est ok, j'arrive a lancer SQL Plus Worksheet (c'est bien ça dont on parle ?)

Je me connecte a ma base, il me met dans la partie du bas : connecté

Je colle ma requete et la j'ai des erreur et il se déconnecte, voila les erreurs :

Connecté.
ERROR:
ORA-01017: invalid username/password; logon denied


Avertissement : vous n'êtes plus connecté à ORACLE.
SP2-0640: Non connecté

Voila, merci pour l'aide déja apporté
alex007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 17h22   #14
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Je n'ai pas les outils que vous avez cité.

SQLPlus worksheet est une nouvelle interface web à sqlplus.

Le sqlplus dont je vous parle est le plus simple, celui en ligne de commande que l'on utilise en général pour faire des installations.
Ce sqlplus est utilisable dans une fenêtre de commande cmd.exe.
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 10h18   #15
Invité de passage
 
Inscription : octobre 2005
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 21
Points : 4
Points : 4
Par défaut PL/SQL

Bonjour,

excusez moi je n'ai pu repondre a votre message avant ce matin,

J'ai bien trouvé la version de SQL + dont vous me parlez (tout en ligne de commande), par contre je ne vois pas vraiment comment cela fonctionne ?

Merci d'avance
alex007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 10h27   #16
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Pour les premiers pas, avec sqlplus voir:
http://www.iro.umontreal.ca/~lokbani...08/demo08.html

Pour exécuter votre script, voir mon message du Mar Mar 14, 2006 16:27.
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 11h11   #17
Invité de passage
 
Inscription : octobre 2005
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 21
Points : 4
Points : 4
Par défaut PL/SQL

Ok,

j'ai testé une partie de ma requete avec SQL + (la petite partie du select au début) , ça fonctionne bien

Par contre si je copie mon bloc complet comme cité mardi, je n'ai aucunes réponses de SQL +...

Je creuse, merci encore pour votre aide
alex007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 12h42   #18
kh
Invité régulier
 
Inscription : mars 2006
Messages : 13
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 13
Points : 7
Points : 7
Bonjour;

Aprés le point-virgule final
Ajouter "/" au début de la ligne suivante et réessayer

[code]
.
.
.
END;
/
[code][/code]
kh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 12h45   #19
kh
Invité régulier
 
Inscription : mars 2006
Messages : 13
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 13
Points : 7
Points : 7
Désolé pour la faute

je fais mes premiers pas sur le forum

aprés le ; final
ajouter "/" au début de la ligne suivante et réessayer

kh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 14h51   #20
Invité de passage
 
Inscription : octobre 2005
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 21
Points : 4
Points : 4
Par défaut PL/SQL

Alors, ça y est SQL + me dis que ma requete réussi

J'avais effectivement oublié le fameux " / " (que je sais pas a quoi il sert, mais il sert...)

Maitenant j'ai plus qu'a coder mon appel a cette Procédure en PHP, je sais pas comment faire , mais on va bien voir ...
alex007 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 03h43.


 
 
 
 
Partenaires

Hébergement Web