PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Septembre 2005 »
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4
11
17 18
20 21 24 25
30  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

archives

Technique - général | HELP - Problème de CREATE TABLE

Par ycremel le 02/09/2005 - 17:54

Bonjour,
Je souhaite créer une table dynamiquement car je ne connais pas à l'avance le nom de la table ainsi que la table dont elle hérite. J'ai essayé le code suivant mais il ne fonctionne pas:

EXEC SQL BEGIN DECLARE SECTION;
char tableName[50];
char fatherTableName[50];
char tableSpaceName[50];
char *stmt = "CREATE TABLE ? INHERITS (?) WITHOUT OIDS TABLESPACE ? ;";
EXEC SQL END DECLARE SECTION;

/* tables 1 existe bien et le tablespace aussi */
strcpy(fatherTableName, "table1");
strcpy(tableName, "tabledyn1()") ;
strcpy(tableSpaceName, "tb_test_data_01");

EXEC SQL PREPARE mystmt FROM :stmt;
EXEC SQL EXECUTE mystmt USING :tableName, :fatherTableName, :tableSpaceName ; /* --> ecpg passe */
EXEC SQL EXECUTE mystmt USING 'tabledyn1()', 'table1', 'tb_test_data_01' ; /* ecpg --> ERROR: illegal variable type 26 */
...
...

La 1er solution fait un coredump en execution (Segmentation Fault(coredump)) et le 2eme ne passe pas l'obstacle de ecpg (ERROR: illegal variable type 26 ).
Quelqu'un pourrait-il m'aider SVP à créer une table dynamiquement et me dire ce qui ne va pas???

© PostgreSQLFr, tous droits rĂ©servĂ©s.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.