Je ne suis pas certain que SQLite permet cela. La syntaxe en SQLite est
sql-statement ::= DELETE FROM [database-name .] table-name [WHERE expr]
donc, on ne peut faire que
"DELETE FROM Table1 WHERE ref1='"+ref2+"'"
Donc on fait un SELECT ref2 FROM Table2 (ou ref2 est le nom du champ
de la table 2
Puis pour chaque valeur de ref2 (qu'on dans une boucle) on fait le
delete
Michel Lo
BELT
45, rue Aristide Briand
92300 LEVALLOIS-PERRET
L'intégrité de ce message n'étant pas assurée sur internet, BELT ne
peut être tenue responsable de son contenu. Toute utilisation ou
diffusion non autorisée est interdite. Si vous n'êtes pas
destinataire de ce message, merci de le détruire et d'avertir
l'expéditeur.
The integrity of this message cannot be guaranteed on the Internet.
BELT can not therefore be considered responsible for the contents.
Any unauthorized use or dissemination is prohibited. If you are not the
intended recipient of this message, then please delete it and notify
the sender.
Le 23 août 07 à 16:54, yohan at chez-basile dot com a écrit :
Bonjour,
Autant le dire dès le départ, le SQL et moi ça fait 2.
Je voudrais supprimer d'une table les lignes dont un champ
"Référence" est également présent dans une deuxième table. J'ai
fait un essai pour tester le principe avec phpmyadmin sur un
serveur MySql 5 et j'y suis arrivé.
DELETE FROM Table1 WHERE TABLE1.REF1 = TABLE2.REF2
Quand je veux transcrire ça dans RealBasic 2006 r3 avec une
RealDataBase j'obtiens un message d'erreur
Table2 not Found
Après lecture de plusieurs forum j'ai donc essayé un
DELETE FROM TABLE1 JOIN TABLE2 ON Table1.Ref1=Table2.Ref2
et j'obtiens une erreur SQL: keyword expected
Comme j'ai déjà fait pas mal d'essais différents et que je commence
à avoir une bonne petite collection de messages d'erreur, est-ce
que quelqu'un aurait une voie à m'indiquer? Le site de sqlite ne
m'a pas beaucoup avancé.
Merci!
From Thu 23 Aug 2007 18:14:56 +0200 (CEST)
Return-Path: <realbasic-nug dot fr-bounces at lists dot realsoftware dot com>
X-Original-To: listarchive at realsoftware dot com
Delivered-To: listarchive at realsoftware dot com
Received: by xmail.realsoftware.com (Postfix, from userid 1037)
id 1917B3DFB50C; Thu, 23 Aug 2007 09:15:04 -0700 (PDT)
X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on
www.realsoftware.com
X-Spam-Level:
X-Spam-Status: No, score=-1.5 required=4.5 tests=AWL,BAYES_00,
FORGED_RCVD_HELO,NO_REAL_NAME autolearn=no version=3.1.1
Received: from lists.realsoftware.com (m.realsoftware.com [66.116.103.65])
by xmail.realsoftware.com (Postfix) with ESMTP id 26D5F3DFB505;
Thu, 23 Aug 2007 09:15:03 -0700 (PDT)
Received: from real-software-mini.local (localhost [127.0.0.1])
by lists.realsoftware.com (Postfix) with ESMTP id 335F45A8BBC;
Thu, 23 Aug 2007 11:14:52 -0500 (CDT)
X-Original-To: realbasic-nug dot fr at lists dot realsoftware dot com
Delivered-To: realbasic-nug dot fr at lists dot realsoftware dot com
Received: from Basile.chez-basile.com (vac26-1-82-242-179-18.fbx.proxad.net
[82.242.179.18])
by lists.realsoftware.com (Postfix) with ESMTP id A9AA95A8BB1
for <realbasic-nug dot fr at lists dot realsoftware dot com>;
Thu, 23 Aug 2007 11:14:47 -0500 (CDT)
Received: by Basile.chez-basile.com (Postfix, from userid 0)
id 2CEC027CC9F; Thu, 23 Aug 2007 18:14:57 +0200 (CEST)
From: yohan at chez-basile dot com
Subject: Re: SQL et Realdatabase
To: realbasic-nug dot fr at lists dot realsoftware dot com>
Cc:
X-Originating-IP: 192.168.0.241
X-Mailer: Webmin 1.320
Date: Thu, 23 Aug 2007 18:14:56 +0200 (CEST)
Message-Id: <1187885696 dot 9660 at Basile dot chez-basile dot com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="bound1187885696"
X-BeenThere: realbasic-nug dot fr at lists dot realsoftware dot com
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: REALbasic NUG French <realbasic-nug dot fr at lists dot realsoftware dot
com>
Sender: realbasic-nug dot fr-bounces at lists dot realsoftware dot com
Errors-To: realbasic-nug dot fr-bounces at lists dot realsoftware dot com
This is a multi-part message in MIME format.
--bound1187885696
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Oui c'est ce que j'ai fait, mais ça trottine, alors que MySql fait ça en 1
seconde. J'esperais...
En tous cas ça me permet de faire afficher une jolie barre de progression ;-)
Merci pour vos réponses
Yohan (celui qui veut rivaliser avec une Maserati alors qu'il a une Clio)
Michel LO wrote ..
Je ne suis pas certain que SQLite permet cela. La syntaxe en SQLite est
sql-statement ::= DELETE FROM [database-name .] table-name [WHERE expr]
donc, on ne peut faire que
"DELETE FROM Table1 WHERE ref1='"+ref2+"'"
Donc on fait un SELECT ref2 FROM Table2 (ou ref2 est le nom du champ
de la table 2
Puis pour chaque valeur de ref2 (qu'on dans une boucle) on fait le
delete
Michel Lo
BELT
45, rue Aristide Briand
92300 LEVALLOIS-PERRET
L'intégrité de ce message n'étant pas assurée sur internet, BELT ne
peut être tenue responsable de son contenu. Toute utilisation ou
diffusion non autorisée est interdite. Si vous n'êtes pas
destinataire de ce message, merci de le détruire et d'avertir
l'expéditeur.
The integrity of this message cannot be guaranteed on the Internet.
BELT can not therefore be considered responsible for the contents.
Any unauthorized use or dissemination is prohibited. If you are not the
intended recipient of this message, then please delete it and notify
the sender.
Le 23 août 07 à 16:54, yohan at chez-basile dot com a écrit :
> Bonjour,
>
> Autant le dire dès le départ, le SQL et moi ça fait 2.
> Je voudrais supprimer d'une table les lignes dont un champ
> "Référence" est également présent dans une deuxième table. J'ai
> fait un essai pour tester le principe avec phpmyadmin sur un
> serveur MySql 5 et j'y suis arrivé.
>
> DELETE FROM Table1 WHERE TABLE1.REF1 = TABLE2.REF2
>
> Quand je veux transcrire ça dans RealBasic 2006 r3 avec une
> RealDataBase j'obtiens un message d'erreur
> Table2 not Found
> Après lecture de plusieurs forum j'ai donc essayé un
>
> DELETE FROM TABLE1 JOIN TABLE2 ON Table1.Ref1=Table2.Ref2
>
> et j'obtiens une erreur SQL: keyword expected
>
> Comme j'ai déjà fait pas mal d'essais différents et que je commence
> à avoir une bonne petite collection de messages d'erreur, est-ce
> que quelqu'un aurait une voie à m'indiquer? Le site de sqlite ne
> m'a pas beaucoup avancé.
> Merci!
>
--bound1187885696--
|