2009-06-26 4 views
2

Salut besoin d'insérer des données dans le tableau si l'enregistrement ne sort déjà Ex: SINON EXISTE (SELECT Id FROM table WHERE id = _id) ALORS
INSERT INTO tbale (... ..)écriture Insérer une requête dans SQLite3 dans l'iPhone

Cela peut être facilement fait en utilisant la procédure stockée dans MySQL. Mais je veux d la même chose dans SQLite en écrivant une seule requête.

Moyens aider

+0

Je suis content pour toi! Essayé de vérifier la documentation pour sqllite d'abord? –

Répondre

3

INSERT INTO CategoryMaster (CategoryID, CategoryText) SELECT% d, '% @' OU PAS EXISTE (CHOISIR 1 À PARTIR CategoryMaster OU = CategoryID% d)

Son travail pour moi :)

1

SQLite ne pas stockées procedudes que vous devez faire la logique comme celui-ci. Mais vous pouvez toujours étendre sqlite avec des fonctions C simples. Ou vous pouvez simplement coder cette logique dans n'importe quelle langue dans laquelle vous écrivez votre programme. Je ne pense pas que la performance soit aussi bonne. Votre profilage at-il montré qu'il s'agit d'un chemin critique qui doit être optimisé?

0

Je ferais en exécutant une première requête voir si l'enregistrement existe, puis décider s'il faut exécuter une insertion ou une mise à jour. Je ne pense pas que SQLite ait un langage de requête complet pour supporter l'approche plus courte souhaitée.

Questions connexes