En Oracle no existe el atributo AUTO_INCREMENT de MySQL que permite asignar automáticamente un valor incremental al momento de insertar registros, en cambio hay que utilizar un objeto llamado SEQUENCE.
La sintáxis básica de creación es la siguiente:
CREATE SEQUENCE sequence_name
MINVALUE value
MAXVALUE value
START WITH value
INCREMENT BY value
CACHE value;
Hace poco tuve el requerimiento de crear una secuencia que comenzara a numerar desde un valor calculado a partir de un SELECT, en este caso tuve que utilizar SQL dinámico mediante la instrucción EXECUTE IMMEDIATE, por ejemplo:
DECLARE maxId NUMBER(19,0);
BEGIN
EXECUTE IMMEDIATE 'SELECT MAX(id) FROM Logs' INTO maxId;
EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_NUM_LOG START WITH '||maxId;
COMMIT;
END;
El código anterior crea una secuencia llamada SEQ_NUM_LOG que comenzará a numerar con el máximo valor de la columna id de la tabla Logs.
Es interesante recordar el uso de la instrucción EXECUTE IMMEDIATE para los casos en que necesitamos ejecutar una sentencia DML armada dinámicamente.
Hasta el próximo post!!
jueves, 1 de julio de 2010
Sequence Oracle con START WITH dinámico
Publicado por
Federico Varela
en
10:56
7
comentarios
Etiquetas: Oracle
martes, 30 de diciembre de 2008
La Profecía Autocumplida
Hace poco escuché en una entrevista a un empresario argentino que asociaba los posibles efectos de la crisis económica en nuestra región a un concepto denominado “profecía autocumplida”, que según la Wikipedia se define como:
Una profecía autocumplida o autorrealizada es una predicción que, una vez hecha, es en sí misma la causa de que se haga realidad.
La profecía que se autorrealiza es, al principio, una definición "falsa" de la situación que despierta un nuevo comportamiento que hace que la falsa concepción original de la situación se vuelva "verdadera".
En éste caso la crisis económica en los países desarrollados es real, pero el efecto que tendrá en nuestro país es difícil de cuantificar, aunque es evidente que en el 2009 habrá una baja en los ingresos por exportaciones debido a la baja de la demanda y los precios de las materias primas.
Pero si además retraemos el consumo diario normal porque todos repetimos que la crisis nos va a pegar, entonces vamos a lograr que la profecía se autorealice. Los comerciantes venderían menos, las fábricas bajarían la producción, el desempleo subiría, etc, todo generado por nosotros.
Obviamente que debemos cuidar los gastos superfluos, en lo personal lo hago siempre, pero tampoco irnos a los extremos, si no la crisis la vamos a generar nosotros o la vamos a profundizar.
Publicado por
Federico Varela
en
7:20
1 comentarios
Etiquetas: Profecía Autocumplida
miércoles, 22 de octubre de 2008
DBA SQL Server - Uruguay
La empresa para la cual trabajo está buscando un DBA SQL Server para contratar de forma inmediata.
Los interesados pueden mandarme un mail a la dirección que aparece a la derecha en la sección "Datos personales" y les pasaré el contacto para que adjunten el CV.
Gracias
Publicado por
Federico Varela
en
9:23
0
comentarios