Skip site navigation (1) Skip section navigation (2)

Re: Llamar un proceduce en Postgres desde Clarion

From: Eliana Gutierrez <egp1962(at)yahoo(dot)com(dot)au>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: ayuda postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Llamar un proceduce en Postgres desde Clarion
Date: 2006-12-21 03:44:28
Message-ID: 272091.38575.qm@web53203.mail.yahoo.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Finalmente me funciona el llamado a la funcion desde clarion usando
     StringSQL = 'select createtable(' & '''' & tablename & ''',' & '''' & columname & ''',' & '''' & columntype & ''')'    lo probe con CALL y tambien funciona

Pero la funcion internamente en postgres no esta funcionando bien al ser llamada desde clarion, el codigo de la  funcion es 

CREATE OR REPLACE FUNCTION createtable(tablename "varchar", columname "varchar", columntype "varchar")
  RETURNS void AS
$BODY$
declare
num int2 :=0;
begin
select into num count(*) from pg_class where relname = tablename;
if (num = 0) then
    execute 'create table ' || tablename || '(' || columname || ' ' || columntype || ')';
else
    execute 'alter table ' || tablename || ' add column ' || columname || ' ' || columntype;
end if;
end;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;


El select interno a la pg_class table no lo hace porque la primera vez que lo ejecuto crea la tabla pero las sgtes veces deviera hacer un alter y no lo hace da el error 
relation "test3" already exists
CONTEXT:  SQL statement "create table test3  

Este error queda en el archivo de log

Ely



 Send instant messages to your online friends http://au.messenger.yahoo.com 

In response to

pgsql-es-ayuda by date

Next:From: Eliana GutierrezDate: 2006-12-21 04:38:50
Subject: Postrges desde Clarion Ya me funciono
Previous:From: Mario A WojcikDate: 2006-12-21 02:44:11
Subject: Re: Llamar un proceduce en Postgres desde Clarion

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group