martes, 22 de marzo de 2011

Borrar una FOREIGN KEY

ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_constraint

martes, 25 de enero de 2011

Acegi

Hoy tengo que trabajar por primera vez con Acegi y me he puesto a buscar información , he leído que Acegi es un framework ligado a Spring que se utiliza para poder adoptar medidas de seguridad en las aplicaciones java

lunes, 27 de diciembre de 2010

Un problema con Ajax

Estaba intentando generar un documento que al pulsar un enlace ajax enviara la información del formulario a una método java y crear un documento con esos datos y luego que se descargara, pues tuve el problema de que no salia la ventana de abrir o descarga el documento, sino lo embebía en la misma pagina de la aplicación.
Resulta que investigando un poco y preguntado a un compañero que ajax no se puede descargar documentos, así que en vez de hacerlo con un a4j:commandLink y si utilizaba un s:link pues no me enviaba la información del formulario , así que me aconsejaron que utilizara un h:commanLink, que sí envía la información del formulario y permite la descarga de documentos.

martes, 21 de diciembre de 2010

Reiniciar secuencia en Oracle

He estado haciendo una migración de datos de una base de datos a otra y necesitaba reiniciar las secuencias de la tablas donde se van a importar los datos a 1.
Para ello podemos hacer lo siguiente:
  • SELECT SEQ.CURRVAL FROM DUAL -->Miramos el valor actual de la secuencia con la instrucción .
  • ALTER SEQUENCE SEQ INCREMENT by -VAL--> con el valor obtenido con la anterios sentencia incrementamos a -valor para para reiniciar la secuencia a 1
  • SELECT SEQ.NEXTVAL FROM DUAL--> reiniciamos la secuencia.
  • ALTER SEQUENCE SEQ INCREMENT by 1--> establecemos el incremento de la secuencia.

lunes, 27 de septiembre de 2010

XSTL

Son unas plantillas para transformar XML en otra cosa. Por ejemplo para transformar XML en HTML.


Más información : http://www.w3.org/TR/xslt

Otras url :Xsl, Xstl. Xpath.. , Xsl

jueves, 23 de septiembre de 2010

Subconsultas relacionadas

Una subconsulta es una consulta SELECT que devuelve un valor único y está anidada en una instrucción SELECT, INSERT, UPDATE o DELETE, o dentro de otra subconsulta. Una subconsulta se puede utilizar en cualquier parte en la que se permita una expresión, delante o detras de un WHERE, pero las subconsultas relacionadas pueden usarse en la cláusula FROM.

Se puede acualiar una columna de una tabla con información de otro tabla uando subconsulta en vez de la sintaxis UNION.

Se pueden crear vista con subconsultas relacionadas y se pueden usar subconsultas relacionadas con las vistas del diccionario.

Puede utilizar tres formas de sintaxis para crear una subconsulta:

  • comparación [ANY | ALL | SOME] (instrucción sql) --> Es una expresión y un operador de comparación que compara la expresión con el resultado de la subconsulta.
  • expresión [NOT] IN (instrucción sql) [NOT] EXISTS -->Es una expresión por la que se busca el conjunto resultante de la subconsulta.
  • instrucción sql -->Es una instrucción SELECT, que sigue el mismo formato y reglas que cualquier otra instrucción SELECT. Debe ir entre paréntesis.
Los predicados que utliza son :
  • EXIST(con la palabra reservada NOT opcional) --> se utiliza en comparaciones de verdad/falso para determinar si la subconsulta devuelve algún registro.Este operador tb se puede usar en subconsultas de multiples columnas.
  • ANY o SOME --> los cuales son sinónimos, para recuperar registros de la consulta principal, que satisfagan la comparación con cualquier otro registro recuperado en la subconsulta.
  • ALL --> El predicado ALL se utiliza para recuperar únicamente aquellos registros de la consulta principal que satisfacen la comparación con todos los registros recuperados en la subconsulta.
  • IN or NOT IN--> para recuperar únicamente aquellos registros de la consulta principal para los que hay (o no hay) algunos registros de la subconsulta contienen un valor igual.

viernes, 23 de julio de 2010

Borrar tablas

Hace poco vi que al borrar una tabla con DROP no se borra del esquema de base de datos, sino que se renombra la tabla y se queda en la papelera con un nombre raro como por ejemplo "BIN$ZEcoVqu5ag/gQKjAFwoptQ==$0:"

Para poder borrarla definitivamente de la base de datos hay que ejecutar la sentencia :
PURGE TABLE "nombre de la tabla";

También se peude recuperar esa tabla con la sentencia:
FLASHBACK TABLE nombreTabla TO BEFORE DROP;

Hay más opciones sobre el purgado y versiones del drop, podemos hacer más de un drop de la tabla y querer recuperar uno en concreto o purgar uno en concreto o la papelera entera, etc... Para ello podéis encontrar más información en:

http://www.orafaq.com/node/968