Vous n'êtes pas identifié(e).
Pages : 1
bonsoir,
je tente un script qui commence comme ça :
DECLARE @layenom;
DECLARE @laytype;
SET @layenom = base_essai; -- indiquer le nom de la couche
SET @laytype = 'POINT'; -- type de couche : POINT MULTILINESTRING POLYGON
-- Table: sc.base_point
BEGIN
INSERT INTO geometry_columns(
f_table_catalog, f_table_schema, f_table_name, f_geometry_column,
coord_dimension, srid, type)
VALUES ('','sc',@layenom,'the_geom',2,2154,'@laytype');
-- DROP TABLE sc.@layenom;
CREATE TABLE sc.@layenom
(
gid serial NOT NULL,
refdoss character varying(25) NOT NULL,
…………
J'execute pgscript et là
[WARNING ] SET = base_essai
ERROR: syntax error at or near "SET "
LINE 1: SET = base_essai
^
[WARNING ] INSERT INTO geometry_columns(
f_table_catalog, f_table_schema, f_table_name, f_geometry_column,
coord_dimension, srid, type)
VALUES ('','sc',,'the_geom',2,2154,'POINT')
ERROR: syntax error at or near ","
LINE 4: VALUES ('','sc',,'the_geom',2,2154,'POINT')
^
[WARNING ] CREATE TABLE sc.
(
gid serial NOT NULL,
………
autant vous dire que j'ai essayé avec ' ' et sans, changer le nom de variable, de valeur etc. mais rien. Ce qui me stresse, c'est que @laytype semble fonctionner.
Merci de votre aide.
Dernière modification par pasqal (17/06/2012 17:28:55)
Hors ligne
bonsoir,
je tente un script qui commence comme ça :
DECLARE @layenom; DECLARE @laytype; SET @layenom = base_essai; -- indiquer le nom de la couche SET @laytype = 'POINT'; -- type de couche : POINT MULTILINESTRING POLYGON
DECLARE ne déclare pas une variable mais un curseur et SET ne positionne pas n'importe quelle variable mais les paramètres d'éxécution.
Si ce que vous cherchez à faire est de positionner des variables dans un script psql alors la solution est à chercher du côté de la meta commande
\set nom valeur (ou d'utiliser le switch --set). Voir la doc de psql
Éric
Hors ligne
J'ai suivi les instructions de http://www.pgadmin.org/docs/dev/pgscript.html et je lance bien pgscript dans pgadmin. Y-a-t-il interférence entre les instructions pgscript et psql ? Et pourquoi SET @laytype = 'POINT' fonctionne car bien remplacé dans le message d'erreur « VALUES ('','sc',,'the_geom',2,2154,'POINT') » ?
Dernière modification par pasqal (17/06/2012 17:29:13)
Hors ligne
Je me réponds après pas mal de tâtonnements, the soluce is
SET @laytype = 'POINT', @layenom = 'basessai';
merci pour l'aide.
Hors ligne
Pages : 1