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

SELECT funciona ahora y nunca mas

From: Victor Lopez <v(dot)lopez(dot)s(at)ono(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: SELECT funciona ahora y nunca mas
Date: 2007-03-19 20:31:07
Message-ID: 200703192131.07518.v.lopez.s@ono.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Buenas.

Puede (seguro)  que hay una manera mas facíl de hacerlo, y si me lo decís os 
lo agradeceré.

El caso es que tengo la siguiente secuencia ...

test=# CREATE DOMAIN domUsuario AS VARCHAR(16) NOT NULL CONSTRAINT usuarioChk 
CHECK(VALUE ~ '^[a-zA-Z0-9]{8,}$');
CREATE DOMAIN
test=# CREATE OR REPLACE FUNCTION EsUsuario(VARCHAR(16)) RETURNS boolean AS
test-# $$
test$#   BEGIN
test$#     CREATE TEMP TABLE tblUsuario (usuario domUsuario) ON COMMIT DROP;
test$#     INSERT INTO tblUsuario VALUES ($1);
test$#     RETURN TRUE;
test$#     EXCEPTION
test$#       WHEN check_violation THEN
test$#         RETURN FALSE;
test$#   END;
test$# $$
test-# LANGUAGE plpgsql;
CREATE FUNCTION
test=# SELECT EsUsuario('usu');
 esusuario
-----------
 f
(1 fila)

Y hasta aquí me funciona (o eso creo) ... crea un dominio que me vale para 
crear una tabla ¿temporal? -> ¿dentro de esa función?

Mediante "SELECT EsUsuario('usu')" hago funcionar esa función y me da un 
resultado creo que correcto.

El problema viene justo despues ...

test=# SELECT EsUsuario('usu');
ERROR:  no existe la relación con OID 16789
CONTEXT:  sentencia SQL: «INSERT INTO tblUsuario VALUES ( $1 )»
PL/pgSQL function "esusuario" line 3 at SQL statement

repito la sentencia que me ha funcionado unas lineas antes y me falla ... :-(

Alguien  sabe porque?

-- 
----o---(  )---o----
Saludos de Victor Lopez Sabio
v(dot)lopez(dot)s(at)ono(dot)com
--------oooo-------- 

pgsql-es-ayuda by date

Next:From: Sonia MalaveDate: 2007-03-19 20:48:57
Subject: Re: Transacciones!
Previous:From: Rubén LunaDate: 2007-03-19 20:27:59
Subject: Campo tipo lo

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