Aller au contenu


Photo
- - - - -

Requête SQL


  • Veuillez vous connecter pour répondre
7 réponses à ce sujet

#1 philou-RX

philou-RX

    Habitué

  • Membres
  • PipPip
  • 261 messages
  • Gender:Male
  • Location:Riviera - Vaudoise

Posté 28 février 2012 - 01:49

Bonjour à tous,

Je viens vers vous chers développeurs en tout genre, car j'ai un gros gros soucis sur mes requêtes...

Je me suis lancé depuis peu dans les bases de données (je n'ai pas encore de serveur dédié à cela, cela viendra en son temps quand je saurais maîtrisé le langage, c'est pas encore fait ^^), et qui sait faire une application pour la robotique par la suite mais allons par étape.

En utilisant ISQL (dans une console de commande) et les requêtes SQL, j'ai voulu commencer à créer ma base avec mes différentes tables et des utilisateurs ; mais le problème c'est que je bute sur la création de la table en elle-même apparemment. Je ne comprend pas l'erreur que je fais...

Je vous mets le code que j'ai écrit, ainsi que le printscreen de l'erreur.

Alors si vous voyez une erreur quelconque petite - grande - monstrueuse ou d'autres remarques,je suis preneur, car là je bloque et je ne comprends pas pourquoi

Je vous remercie déjà tous de m'avoir lu
Et attends avec impatience toute vos remarques constructives

Amicalement le cht'y Philou

Fichier(s) joint(s)


Amicalement PHILOU QUI a BU, BOIRA !!! VU euh non BU! alcoolique non, assoiffé OUI^^ :P :|

#2 arobasseb

arobasseb

    Membre chevronné

  • Administrateur
  • PipPipPipPip
  • 737 messages
  • Gender:Male
  • Location:BORDEAUX (33)

Posté 02 mars 2012 - 08:28

Bonjour,
dans ton "create table" essai de remplacer 'integer' par 'int' .

#3 philou-RX

philou-RX

    Habitué

  • Membres
  • PipPip
  • 261 messages
  • Gender:Male
  • Location:Riviera - Vaudoise

Posté 05 mars 2012 - 07:16

Bonsoir à tous,

Merci à toi Aro... et à tout ceux qui m'ont lu...

Grâce à ta remarque Aro et en continuant à trifouiller un peu, j'ai écrit un peu différemment ma requête sur la création de la table "Client" comme ceci :

/* créer une table								*/
/* ---------------								*/
create table client(	
	numero integer not null,   /* sera utilisé comme clé primaire */	
	nom varchar(25),
	adresse varchar(50),
	npa	decimal(4), 
	ville varchar(20),  	
	constraint PK_client primary key(numero) /* définition de la clé primaire */
);

J'ai mis un moment de comprendre ce système de clé, et ce n'est pas encore ça, mais j'avance gentillement.

A tout bientôt pour mes prochaines questions :crigon_04:
Amicalement PHILOU QUI a BU, BOIRA !!! VU euh non BU! alcoolique non, assoiffé OUI^^ :P :|

#4 arobasseb

arobasseb

    Membre chevronné

  • Administrateur
  • PipPipPipPip
  • 737 messages
  • Gender:Male
  • Location:BORDEAUX (33)

Posté 06 mars 2012 - 07:46

Visiblement j'étais à l'ouest :-). Ne connaissant pas isql je ne pensais pas que ça venait de la syntaxe de la contrainte. Pourtant je travaille sur sql tous les jours, mais sur SQLServer. En tout cas ravit que ça avance :-).

#5 philou-RX

philou-RX

    Habitué

  • Membres
  • PipPip
  • 261 messages
  • Gender:Male
  • Location:Riviera - Vaudoise

Posté 24 mars 2012 - 09:50

Bonsoir chers Geekelou (very affectueusement de ma part),

Je viens à nouveau vers vous, car petit plantage dans mes requêtes SQL.

Voilà j'ai créé 2 tables :
1) client avec les attributs suivants : numero_cli (clé primaire), nom_cli, adresse, npa, ville
2) commande avec les attribut suivants : numero_cmd (clé primaire), numero_cli, libelle, montant

j'ai réussi à créer mes tables correctement, ca c'est bon...

Maintenant je fais des tests avec des utilisateurs 1 et 2, le 1 à tout les droits, mais le 2ème ne peut voir que ce que l'utilisateur 1 à définit dans des vues, vous me suivez ??

et c'est la que ca bloque : je définit ma vue à l'aide de l'utilisateur 1 :

voici le code sql :

/* connexion en tant que user1			*/
connect 'client1g.ib' user user1 password 'user1';	

/* création d'une vue : vue1			*/
create view vue1 (nom, total) as 
select client.nom, sum(commande.montant) 
from client, commande
where client.numero =  commande.client; 				

/* visualisation de la vue 1			*/
select *
from vue1;	

plus voici l'erreur que cela m'affiche en invite de commande :

Image IPB

Par contre, je me pose la question si il n'existe pas un listing de tout ces codes erreurs, j'ai pas trouvé... ou pas chercher au bon endroit, même si google est mon ami...

Voili Voilou, en tout cas merci de me lire, et je vous remercie de votre soutien...

A tout bientôt...
Amicalement PHILOU QUI a BU, BOIRA !!! VU euh non BU! alcoolique non, assoiffé OUI^^ :P :|

#6 arobasseb

arobasseb

    Membre chevronné

  • Administrateur
  • PipPipPipPip
  • 737 messages
  • Gender:Male
  • Location:BORDEAUX (33)

Posté 24 mars 2012 - 11:15

Salut,

Dans ton create view pour la colonne défini par sum(commande.montant) essai de lui définir un alias (donne lui un nom)



#7 philou-RX

philou-RX

    Habitué

  • Membres
  • PipPip
  • 261 messages
  • Gender:Male
  • Location:Riviera - Vaudoise

Posté 19 juin 2012 - 07:40

Bonjour à tous,

C'est encore le cht'y Philou... Je reviendrai sur le poste #5, mais je trouve plus mon code pour vous montrer ce qui jouait pas,... bref la comme vous l'avez compris :Alex_03: je reviens avec mes requettes SQL... maintenant j'ai un problème pour générer une procédure ou j'ai une erreur d'écriture dans ma procédure quand je l'execute, mais j'arrive pas à définir ou.

Je vous transmet le code sql :

/* creation d'une procédure */
/* ------------------------ */
/* délimitation de la procedure */ 
set term d_proc_f ; 
	 create procedure nouvel_habitant(nom_p varchar(15), ville_p varchar(30))  
		as	
			declare variable id_p integer; 
			declare variable cst_habitant integer;
			declare variable message_erreur varchar(30); 
		begin 
			cst_habitant = 100;
			id_p = gen_id(cst_habitant,1); 
			insert into habitants
			values(id_p, :nom_p, :ville_P);  
			when sqlcode -803 do
				exception message_erreur := 'même nom - possible';  
		end
set term; d_proc_f

/* executer la procedure */ 
/* --------------------- */
execute procedure nouvel_habitant('titi','Vevey'); 


+ une petit image de ma fenêtre DOS !!!
Image IPB

Alors comme d'hab je vais appel à vos sens inné du debbuggage :yes:

Voili Voilou, en tout cas merci de me lire, et je vous remercie de votre soutien...

A tout bientôt...
Amicalement PHILOU QUI a BU, BOIRA !!! VU euh non BU! alcoolique non, assoiffé OUI^^ :P :|

#8 batou_

batou_

    Nouveau membre

  • Membres
  • 8 messages

Posté 28 juin 2012 - 09:00

Salut, je ne connaît pas bien ISQL mais je vais tenter de t'aider... :superman:

Jene sais pas si tu connais ce site, il répertorie tout les codes renvoyés par ISQL, un petit coup de CTRL+F et letour est joué apparament toi il manquerait un caractère ou une variable ou elle serait invalide...

En faisant quelques recherches je suis tombé sur ça. Je n'ai pas vu de classe dans ton code mais apparemment lui créé une classe puis un générateur qui sera utilisé dans gen_id() et toi tu y as mis un integer.

Je suis peut-être à côté de la plaque mais pour l'instant je n'ai trouvé que ça ... :sorry:

En espérant t'avoir aidé ;)




0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users