Herick Marques escreveu:
> Ribamar Sousa escreveu:
>> 2008/6/11 Herick Marques <[EMAIL PROTECTED] 
>> <mailto:[EMAIL PROTECTED]>>:
>>
>>     Evandro Ricardo Silvestre escreveu:
>>     > Herick Marques wrote:
>>     >
>>     Olá Evandro, obrigado pela ajuda, mas o problema continua.
>>     Usei o script que vc me passou fiz a alteração necessária, mas ele não
>>     executa no console do PG.
>>     usei o seguinte script:
>>     SELECT a.relname AS Tabela, b.attname AS Campo
>>      FROM pg_class a
>>      JOIN pg_attribute b ON (b.attrelid = a.relfilenode)
>>      WHERE  b.attstattarget = -1 AND
>>             a.relname = 'allst' AND  b.attname = 'blocker';
>>      IF NOT FOUND THEN
>>        ALTER TABLE allst ADD blocker BOOLEAN NOT NULL
>>      END IF;
>>
>>     O console dá o seguinte erro:
>>     ERROR: syntaxe error at or near "IF" SLQ state: 42601 Character: 218
>>
>>     Sabe me dizer se eu preciso passar mais algum comando, tipo um
>>     execute,
>>     ou colocar o script dentro de um begin/end, etc?
>>     Obrigado!
>>
>>
>> No alter table deve ser assim:
>>
>>    ALTER TABLE allst ADD COLUMN blocker BOOLEAN NOT NULL
>>
>>   
> Amigo, o problema não ocorre no script que faz a criação/ alteração da 
> tabela, está ocorrendo na cláusula de verificação.

O IF não é um comando SQL.
Para os comandos SQL válidos veja:
http://www.postgresql.org/docs/current/interactive/sql-commands.html


> Esse Alter Table, tato da maneira como eu tinha colocado como dessa que 
> vc me passou funcionou, o problema continua sendo a verificação da 
> existência.
> Criar uma SP eu acho desnecessário pois esse script vai ser executado 
> poucas vezes, só quando as bases de clientes sofrerem atualização, e aí 
> está a razão de eu não querer que apareça mensagem de erro.

Se você quizer executar um comando restrito à PL/PgSQL então a criação 
de uma função não é *desnecessária*.

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a