Enviado em 17/06/2013 - 13:01h
CREATE TABLE agenda (
chave SERIAL NOT NULL,
nome VARCHAR(100) NOT NULL,
rua VARCHAR(200),
numero INT,
telefone char(9),
PRIMARY KEY(chave)
);
-- DROP TABLE ListaInvertida;
-- CRIA TABELA listaInvertida --
CREATE TABLE ListaInvertida (
palavra VARCHAR(30),
chave INTEGER[]
);
CREATE OR REPLACE FUNCTION PopulaListaInvertida() RETURNS trigger AS $$
DECLARE
dado VARCHAR;
dado2 VARCHAR;
existe integer;
BEGIN
-- unnest CRIA UMA "TABELA" DIVIDINDO O TEXTO PELO DELIMITADOR ESPAÇO
-- LOOP PARA O NOME
FOR dado IN SELECT unnest(string_to_array(new.nome, ' ')) LOOP
existe:=0;
SELECT count(*) INTO existe FROM ListaInvertida WHERE palavra=dado;
if existe=0 then
INSERT INTO ListaInvertida (palavra, chave) VALUES (dado, new.chave);
else
UPDATE ListaInvertida SET chave=array[chave,new.chave] where palavra=dado;
end if;
END LOOP;
-- LOOP PARA O ENDEREÇO
FOR dado2 IN SELECT unnest(string_to_array(new.rua, ' ')) LOOP
existe :=0;
SELECT count(*) INTO existe FROM ListaInvertida WHERE palavra=dado;
IF existe=0 then
INSERT INTO ListaInvertida (palavra, chave) VALUES (dado2, new.chave);
ELSE
UPDATE ListaInvertida SET chave=string_to_array[chave,new.chave] where palavra=dado;
END IF;
END LOOP;
RETURN NEW;
END;
$$
LANGUAGE 'plpgsql';
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Debian 12 - IPTABLES - removendo NFTABLES
OverWatch 2 - Abrindo portas do jogo no Iptables.
Como instalar o adaptador wifi USB Intelbras ACtion A1200 no Linux Mint
Como normalizar seus arquivos MP3 para que fiquem no mesmo volume
Instalação do Programa Imposto de Renda Pessoa Física 2023 [RESOLVIDO]... (6)
Instalando e compilando o GCC/G++ erro (4)
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba
[Shell Script] Tire screenshots com Scrot facilmente com Zscrot
[Shell Script] DioPSI - Script multidistro para instalar programas
[Shell Script] ARS Vídeos - Cortador de vídeos e webcam shooter