IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Firebird Discussion :

Requête INSERT INTO en mode transactionnel


Sujet :

SQL Firebird

  1. #1
    Membre confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    Par défaut Requête INSERT INTO en mode transactionnel
    Bonjour,

    configuration : Delphi 7 + Firebird 2.5.7.27050 sous seven 32 bits
    j'ai pour habitude de coder en delphi mes ajouts dans les tables (en réseau)
    en mode transactionnel, en utilisant STARTTRANSACTION, COMMIT et ROLLBACK
    j'aimerais faire la même chose mais en SQL, genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SET TRANSACTION;
    SELECT INSERT INTO etc.
    COMMIT;
    etc.
    en considérant, que ROLLBACK suit une erreur d'enregistrement et non dans le cadre d'un SAVE POINT.
    je n'ai pas trouvé d'exemple clair en SQL montrant l'utilisation des trois commandes, TRANSACTION, COMMIT et ROLLBACK

    existe t-il un "IF SUCCESS" dans Firebird ?

    merci de votre aide

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Une commande SQL unitaire (INSERT, UPDATE, DELETE....) est une transaction à part entière. Soit elle réussie et les données sont persistantes, soit elle part en erreur et donc toutes les modifications de la commande sont automatiquement annulée. Vous n'avez donc rien à faire.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    Par défaut
    merci SQLpro

    mais à quoi sert le SET TRANSACTION ?

    https://firebirdsql.org/file/documen...transachttp://

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    À définir le niveau d’isolation, c'est à dire une plus ou moins grande "porosité" des informations en cours de modification entre la transaction et les autres utilisateurs.

    Lisez l'article que j'ai écrit à ce sujet :
    http://sqlpro.developpez.com/isolation-transaction/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    Par défaut
    désolé pour le retard..
    on peut supposer que l'article concernant SQL Server peut s'appliquer
    également à Firebird..
    Cela dit, j'ai bien noté la portée du texte.
    en ce qui me concerne, je traite le niveau d'isolation de mes transactions
    en paramétrant mes composants.
    merci SQLPro pour cette information.

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par cantador Voir le message
    ...
    on peut supposer que l'article concernant SQL Server peut s'appliquer
    également à Firebird..
    Ceci fait partie intégrante de la norme SQL. Donc on peut supposer que oui. Mais attention, tous les SGBDR n'implémente pas tous les niveaux d’isolation de la norme et certains (SQL Server) en rajoute....
    Cela dit, j'ai bien noté la portée du texte.
    en ce qui me concerne, je traite le niveau d'isolation de mes transactions en paramétrant mes composants.
    Ce qui est bplutôt la bonne chose à faire... Cepandant, vous devriez plutôt utiliser autant que faire ce peu, des procédures stockées !

    merci SQLPro pour cette information.
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. la requête INSERT INTO. . . SELECT
    Par asma_tn dans le forum Langage SQL
    Réponses: 5
    Dernier message: 28/09/2007, 17h01
  2. Procédure Form_Open,problème de requête Insert into
    Par Averroes dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/08/2007, 21h49
  3. Pb requète INSERT INTO
    Par yannick9 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 14/08/2007, 10h37
  4. Requête INSERT INTO SELECT
    Par unix27 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/02/2007, 00h36
  5. Réponses: 3
    Dernier message: 05/03/2006, 23h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo