Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
ACCUEIL POSTGRESQL FORUM POSTGRESQL F.A.Q POSTGRESQL UDF POSTGRESQL LIVRES POSTGRESQL

31.4. Exécuter des commandes SQL

Toute commande SQL peut être exécutée à l'intérieur d'une application SQL embarquée. Ci-dessous se trouvent quelques exemples de procédures.

Création d'une table :

EXEC SQL CREATE TABLE foo (nombre integer, ascii char(16));
EXEC SQL CREATE UNIQUE INDEX num1 ON foo(nombre);
EXEC SQL COMMIT;

Insertion de lignes :

EXEC SQL INSERT INTO foo (nombre, ascii) VALUES (9999, 'doodad');
EXEC SQL COMMIT;

Suppression de lignes :

EXEC SQL DELETE FROM foo WHERE nombre = 9999;
EXEC SQL COMMIT;

Sélection d'une ligne :

EXEC SQL SELECT foo INTO :FooBar FROM table1 WHERE ascii = 'doodad';

Sélection à l'aide de curseurs :

EXEC SQL DECLARE foo_bar CURSOR FOR
    SELECT nombre, ascii FROM foo
    ORDER BY ascii;
EXEC SQL OPEN foo_bar;
EXEC SQL FETCH foo_bar INTO :FooBar, DooDad;
...
EXEC SQL CLOSE foo_bar;
EXEC SQL COMMIT;

Actualisations :

EXEC SQL UPDATE foo
    SET ascii = 'foobar'
    WHERE nombre = 9999;
EXEC SQL COMMIT;

Les lexèmes de la forme «  : quelquechose  » sont des variables hôtes, c'est-à-dire qu'elles font référence à des variables du programme C. Elles sont expliquées dans la Section 31.6, « Utiliser des variables hôtes ».

Dans le mode par défaut, les instructions ne sont validées que lorsque EXEC SQL COMMIT est exécuté. L'interface SQL embarqué supporte aussi la validation automatique des transactions (similaire au comportement de libpq) via l'option -t en ligne de commande pour ecpg (voir ci-dessous) ou via l'instruction EXEC SQL SET AUTOCOMMIT TO ON. En mode de validation automatique, chaque commande est automatiquement validée sauf si elle est à l'intérieur d'un bloc de transaction explicite. Ce mode peut être explicitement désactivé en utilisant EXEC SQL SET AUTOCOMMIT TO OFF.

Responsable bénévole de la rubrique PostgreSQL : Damien Griessinger (HpAlpha) - Contacter par EMail :
Vos questions techniques : forum d'entraide PostgreSQL - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.