select count (*) as contador,EXTRACT(MONTH FROM CREATION_TIME) as mes,
EXTRACT(YEAR FROM CREATION_TIME) as anio
FROM TABLA p WHERE CAMPO=1 AND BORRADO=0
GROUP BY EXTRACT(YEAR FROM CREATION_TIME),EXTRACT(MONTH FROM CREATION_TIME) ORDER BY anio,mes ASC;
Devolver el contador de campo a buscar agrupados por año
Buscar este blog
lunes, 19 de noviembre de 2018
Cambiar valor de la secuencia al mayor ID de la base de datos
declare
v_sql varchar2(500);
begin
EXECUTE IMMEDIATE 'drop sequence "ESQUEMA"."HIBERNATE_SEQUENCE"';
SELECT 'CREATE SEQUENCE "ESQUEMA"."HIBERNATE_SEQUENCE" MINVALUE 1 START WITH '||
(SELECT MAX(ID1)+1 FROM (
SELECT MAX(ID) "ID1" FROM XXXY
UNION
SELECT MAX(ID) FROM XXX)
)
||' INCREMENT BY 1 CACHE 20'
INTO v_sql
FROM dual;
EXECUTE IMMEDIATE v_sql;
dbms_output.put_line(v_sql);
end;
v_sql varchar2(500);
begin
EXECUTE IMMEDIATE 'drop sequence "ESQUEMA"."HIBERNATE_SEQUENCE"';
SELECT 'CREATE SEQUENCE "ESQUEMA"."HIBERNATE_SEQUENCE" MINVALUE 1 START WITH '||
(SELECT MAX(ID1)+1 FROM (
SELECT MAX(ID) "ID1" FROM XXXY
UNION
SELECT MAX(ID) FROM XXX)
)
||' INCREMENT BY 1 CACHE 20'
INTO v_sql
FROM dual;
EXECUTE IMMEDIATE v_sql;
dbms_output.put_line(v_sql);
end;
jueves, 1 de noviembre de 2018
Crear tablespace de datos e indices
CREATE TABLESPACE DATOS_xxx datafile 'xxx_datafile.dbf' size 20M AUTOEXTEND ON;
CREATE TABLESPACE IDEX_xxx datafile 'xxx_index_datafile.dbf' size 20M AUTOEXTEND ON;
CREATE TABLESPACE IDEX_xxx datafile 'xxx_index_datafile.dbf' size 20M AUTOEXTEND ON;
martes, 5 de julio de 2016
Crear tabla con dblink en otra db - PHP
Suponemos que en este punto estamos conectados a la base de datos A.
1) Abrir conexión a DB donde queremos crear la tabla.
$conexion = new ConnPostgres($conn->host, $conn->port, $conn->data_base, $conn->user, $conn->password);
2) Crear la SQL donde creamos una tabla a partir de una select sobre otra tabla.
$sql = 'create table '.$nombreTabla.' as select q.NOMBRECAMPO/OS from dblink('.'\'dbname=NOMBREDB user=USER password=PASSWORD'.'\', '.'\'select NOMBRECAMPO/OS
from TABLA where
xxxxx='.$xxxxx.'\')as q (NOMBRECAMPO/OS, NOMBRECAMPO character varying(25))';
3)Lanzar query.
$conexion->query($sql);
martes, 17 de mayo de 2016
NVL PL/SQL de Oracle
La función NVL forma parte del lenguaje PL/SQL de Oracle.
NVL( Expresión1, Expresión2 ) |
Si
Expresión1 es null, se devolverá valor de Expresión2, util para operaciones.
Por ejemplo:
1 | SHOW NVL( NULL, 'Es nulo' ) |
2 | Es nulo | | | | | | | | |
Envio de email. javax.mail
public static void enviarCorreo(List emailsDestinatarios,String pAsunto,String pMensaje) {
try {
if (emailsDestinatarios.size()>0){
log.info("Creando el correo a enviar...");
InternetAddress from = new InternetAddress(mailConfig.getProperty(MAIL_SENDER));
from.setPersonal(mailConfig.getProperty(MAIL_ALIAS), "iso-8859-1");
MimeMessage message = new MimeMessage(session);
message.setFrom(from);
message.addRecipients(Message.RecipientType.BCC, emailsDestinatarios.toArray(new InternetAddress[emailsDestinatarios.size()]));
message.setSubject(pAsunto);
message.setSentDate(new Date());
MimeBodyPart cuerpoEmail = new MimeBodyPart();
cuerpoEmail.setText(pMensaje, "us-ascii");
cuerpoEmail.setHeader("Content-Type", "text/html");
MimeMultipart contenido = new MimeMultipart();
contenido.addBodyPart(cuerpoEmail);
message.setContent(contenido);
log.info("Correo a enviar creado.");
log.info("Enviando el correo...");
Transport.send(message);
log.info("Correo enviado.");
}else
log.info("No hay destinatarios válidos.");
} catch (MessagingException me) {
log.error("Se ha producido un error en el envío del correo.", me);
} catch (UnsupportedEncodingException ue) {
log.error("Se ha producido un error con el encoding del correo.", ue);
}catch (Exception mex) {
mex.printStackTrace();
log.error("No se pudo enviar el correo." + mex.getMessage());
}
}
try {
if (emailsDestinatarios.size()>0){
log.info("Creando el correo a enviar...");
InternetAddress from = new InternetAddress(mailConfig.getProperty(MAIL_SENDER));
from.setPersonal(mailConfig.getProperty(MAIL_ALIAS), "iso-8859-1");
MimeMessage message = new MimeMessage(session);
message.setFrom(from);
message.addRecipients(Message.RecipientType.BCC, emailsDestinatarios.toArray(new InternetAddress[emailsDestinatarios.size()]));
message.setSubject(pAsunto);
message.setSentDate(new Date());
MimeBodyPart cuerpoEmail = new MimeBodyPart();
cuerpoEmail.setText(pMensaje, "us-ascii");
cuerpoEmail.setHeader("Content-Type", "text/html");
MimeMultipart contenido = new MimeMultipart();
contenido.addBodyPart(cuerpoEmail);
message.setContent(contenido);
log.info("Correo a enviar creado.");
log.info("Enviando el correo...");
Transport.send(message);
log.info("Correo enviado.");
}else
log.info("No hay destinatarios válidos.");
} catch (MessagingException me) {
log.error("Se ha producido un error en el envío del correo.", me);
} catch (UnsupportedEncodingException ue) {
log.error("Se ha producido un error con el encoding del correo.", ue);
}catch (Exception mex) {
mex.printStackTrace();
log.error("No se pudo enviar el correo." + mex.getMessage());
}
}
Suscribirse a:
Entradas (Atom)