<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Xnoccio.com &#187; Luis Miguel Cruz Renedo</title>
	<atom:link href="http://www.xnoccio.com/es/author/luis-miguel-cruz-renedo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xnoccio.com</link>
	<description>Blog de viavansi</description>
	<lastBuildDate>Fri, 27 Jan 2012 19:59:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Triggers PostgreSQL</title>
		<link>http://www.xnoccio.com/es/50-triggers-postgresql/</link>
		<comments>http://www.xnoccio.com/es/50-triggers-postgresql/#comments</comments>
		<pubDate>Mon, 12 Feb 2007 12:31:32 +0000</pubDate>
		<dc:creator>Luis Miguel Cruz Renedo</dc:creator>
				<category><![CDATA[xnoccio]]></category>
		<category><![CDATA[postgreSQL]]></category>

		<guid isPermaLink="false">http://xnoccio.com/?p=50</guid>
		<description><![CDATA[Me pidieron hace unos días una solución a inserciones en Base de datos, de tal manera que algunos valores que cumplieran ciertas características, se vieran modificados justo antes de almacenarse. Concretamente se trata de hacer que determinados campos de cada tabla se insertaran automáticamente en mayúsculas, teniendo ya toda la lógica de acceso e inserciones [...]]]></description>
			<content:encoded><![CDATA[<p>Me pidieron hace unos días una solución a inserciones en Base de datos, de tal manera que algunos valores que cumplieran ciertas características, se vieran modificados justo antes de almacenarse. Concretamente se trata de hacer que determinados campos de cada tabla se insertaran automáticamente en mayúsculas, teniendo ya toda la lógica de acceso e inserciones en la BD creada.</p>
<p>La solución es bien sencilla. Todos pensamos en un trigger, pero &#8230; ¿en postgreSQL?. Sí no hay ningún problema.</p>
<p>Imaginemos que tenemos una tabla PERSONA que tiene entre otros los campos NOMBRE, APELLIDOS, FECHA DE NACIMIENTO y queremos simplemente cambiar el nombre y apellidos de la persona a mayúsculas antes de cada inserción. Pues lo único que tendriamos que crearnos es un TRIGGER que se ejecute antes de cada ÍNSERT o UPDATE y que ejecute una función que cambie a mayúsculas los campos requeridos, es decir:</p>
<p><code>CREATE OR REPLACE FUNCTION UPPER_PERSONA() RETURNS trigger AS '<br />
BEGIN<br />
	NEW.nombre := upper(NEW.nombre);<br />
	NEW.apellidos := upper(NEW.apellidos);<br />
  RETURN new;<br />
END<br />
' LANGUAGE plpgsql;</p>
<p>CREATE TRIGGER persona BEFORE INSERT or UPDATE<br />
 ON persona FOR EACH ROW<br />
 EXECUTE PROCEDURE UPPER_PERSONA(nombre, apellido);</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnoccio.com/es/50-triggers-postgresql/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

