Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lisar

Utilizando PL/PgSQL - PostgreSQL 8.1

Recommended Posts

oi.estou migrando de MS SQL Server para o PostgreSQL 8.1. já fiz tudo necessário como conexão, criação das tabelas, carga de dados etc. mas não consigo utilizar a pl/pgsql: instalei na parte de lingugens ( "languages" ) e o PSQL me mostra minha linguagem. criei o banco no template01 que tem como padrão esta pl.no entanto, quando vou escrever uma função utilizando condicionais, por exemplo, é como se a pl não estivesse nem mesmo instalada, porque o banco não reconhece os comandos, como pro exemplo if/else.isso tá me travando de ir em frente, apesar da parte básica já estar toda pronta, mas a parte procedural tá estancada.gostaria de saber se preciso startar a linguagem, se preciso configurar algo, reinstalar o sgbd ou qualquer outra coisa, porque não consigo ir para frente desta forma.valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

criar tipos de dados:ex: create type t_cliente as (codigo integer, nome varchar(30), cpf char(11), endereco varchar(40));função p/ consulta:create or replace function selecionacliente(varchar(30)) returns setof t_clienteas 'select * from cliente where upper(nome) like upper($1);' language 'sql';teste -> select * from selecionacliente('a%');Triggerscriar um bd -> bd_seq_triggercriar duas tabelas				 +-> create table cliente (codigo integer, nome varchar(30));					 create table dependente (codigo integer, nome varchar(30), cod_cli integer);CREATE OR REPLACE FUNCTION incluirdep() RETURNS TRIGGER AS '  DECLARE 	nomedep TEXT;  BEGIN	nomedep := ''Jose'';	UPDATE dependente SET nome = nomedep;	RETURN null;  END;' LANGUAGE 'plpgsql';CREATE TRIGGER t_incluir_dep AFTER INSERT ON CLIENTE FOR EACH ROW EXECUTE PROCEDURE incluirdep();

um exemplo simples de como usar plpgsql ;)

 

qualquer dúvida eu passo exempplos mais exclarecedores

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.