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

Re: (CRE?==?iso-8859-1?Q?ATE TEMP | 'DROP') TABLE en una (funcion | transaccion?==?iso-8859-1?B?KSC/Pw==

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Victor Lopez <v(dot)lopez(dot)s(at)ono(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: (CRE?==?iso-8859-1?Q?ATE TEMP | 'DROP') TABLE en una (funcion | transaccion?==?iso-8859-1?B?KSC/Pw==
Date: 2007-03-25 18:10:31
Message-ID: 20070325181031.GB4645@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Victor Lopez escribió:

> test=# CREATE OR REPLACE FUNCTION usuarioOK(VARCHAR(16)) RETURNS boolean AS
> test-# $$
> test$# BEGIN
> test$#   BEGIN
> test$#     CREATE TEMP TABLE TabUsuario (usuario domUsuario) ON COMMIT DROP;
> test$#     INSERT INTO TabUsuario(usuario) VALUES ($1);
> test$#     RETURN true;
> test$#   EXCEPTION
> test$#     WHEN check_violation THEN
> test$#       RETURN false;
> test$#   END;
> test$# END;
> test$# $$
> test-# LANGUAGE plpgsql
> test-# SECURITY DEFINER;
> CREATE FUNCTION
> test=# SELECT usuarioOK('gtfrthjuk');
>  usuariook
> -----------
>  t
> (1 fila)

Esto es mucho mas facil de hacer; no necesitas una funcion:

alvherre=# select 'gtfrthjuk'::domUsuario;
 domusuario 
------------
 gtfrthjuk
(1 fila)

alvherre=# select 'gtfrth juk'::domUsuario;
ERROR:  el valor para el dominio domusuario viola la restricción check «usuariochk»


-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

pgsql-es-ayuda by date

Next:From: Victor LopezDate: 2007-03-25 18:22:03
Subject: Re: (CREATE TEMP | 'DROP') TABLE en una (funcion | transaccion) ¿?
Previous:From: Alvaro HerreraDate: 2007-03-25 18:09:05
Subject: Re: (CRE?==?iso-8859-1?Q?ATE TEMP | 'DROP') TABLE en una (funcion | transaccion?==?iso-8859-1?B?KSC/Pw==

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