RE: Consulta foreign key

2021-03-24 Thread Romero, Fernando


De: Hellmuth Vargas [mailto:hiv...@gmail.com]
Enviado el: miércoles, 24 de marzo de 2021 10:47
Para: Romero, Fernando 
CC: Jaime Casanova ; pgsql-es-ay...@postgresql.org
Asunto: Re: Consulta foreign key

Hola Fernando

Jaime ahi estuve mirando mas a detalle, tiene relaciones que no están dentro 
del rango de fecha que quiero eliminar, tendría que deshabilitar la foreign key?

Pues supongo que el foreign esta garantizado la consistencia de la información: 
 si esta "brincando" es porque  hay información  relacionada (si esta bien 
implementado) , una suposición, es que la tabla logpack_sheetorderhistory es un 
histórico que puede tener movimientos  anteriores al rango de fechas  que se 
pretende  eliminar en la tabla logpack_orderstatehistory

Debería sacar los registros relacionadas entre las tablas y construir el delete 
 basándose  en la clave primaria/clave foránea más  bien:

La consulta sugerida seria algo como:


select a.* from logpack_orderstatehistory as a
join logpack_sheetorderhistory as b on a.id = b.id   -- supongo que la columna 
relacionada en logpack_sheetorderhistory es id
where a.created BETWEEN '2019-01-01' AND '2019-12-31'


--
Cordialmente,

Ing. Hellmuth I. Vargas S.

Gracias por tu respuesta, esa consulta me devolvió los registros.
Esos registros tendría que borrar para que después me deje eliminar los 
registros de la tabla anterior no?
Saludos
“El contenido del presente mensaje (y sus anexos) es privado, confidencial y de 
exclusivo uso para el destinatario referenciado; es de público conocimiento que 
las comunicaciones por medio de Internet no permiten asegurar ni garantizar la 
confidencialidad de los mensajes transmitidos, así como tampoco su integridad o 
su correcta recepción; es por ello que SOFSE no se responsabiliza de posibles 
perjuicios derivados de la captura, incorporaciones de virus o cualquier otra 
manipulación efectuada por terceros. Las opiniones expresadas en este mensaje y 
en los archivos adjuntos son propias del remitente y no representan la opinión 
o políticas de SOFSE, salvo que se diga expresamente y el remitente se 
encuentre autorizado para ello”


Re: Consulta foreign key

2021-03-24 Thread Hellmuth Vargas
Hola Fernando

Jaime ahi estuve mirando mas a detalle, tiene relaciones que no están
> dentro del rango de fecha que quiero eliminar, tendría que deshabilitar la
> foreign key?
>

Pues supongo que el foreign esta garantizado la consistencia de la
información:  si esta "brincando" es porque  hay información  relacionada
(si esta bien implementado) , una suposición, es que la tabla
logpack_sheetorderhistory es un histórico que puede tener movimientos
anteriores al rango de fechas  que se pretende  eliminar en la tabla
logpack_orderstatehistory

Debería sacar los registros relacionadas entre las tablas y construir el
delete  basándose  en la clave primaria/clave foránea más  bien:

La consulta sugerida seria algo como:


select a.* from logpack_orderstatehistory as a
join logpack_sheetorderhistory as b on a.id=b.id  -- supongo que la columna
relacionada en logpack_sheetorderhistory es id
where a.created BETWEEN '2019-01-01' AND '2019-12-31'


-- 
Cordialmente,

Ing. Hellmuth I. Vargas S.


RE: Consulta foreign key

2021-03-24 Thread Romero, Fernando


-Mensaje original-
De: Jaime Casanova [mailto:jcasa...@systemguards.com.ec]
Enviado el: miércoles, 24 de marzo de 2021 03:26
Para: Romero, Fernando 
CC: pgsql-es-ay...@postgresql.org
Asunto: Re: Consulta foreign key

On Tue, Mar 23, 2021 at 10:03 PM Romero, Fernando 
 wrote:
>
> Si chequeo el campo id al que hace referencia en ese rango de fechas
> no tiene datos
>
> select id from logpack_sheetorderhistory where created BETWEEN
> '2019-01-01' AND '2019-12-31';
>

Lo  que deberías estar chequeando es:

SELECT * FROM logpack_sheetorderhistory WHERE id = 14470448;

Es muy probable que simplemente ese registro no esté en el mismo rango de 
fechas.

Ahora, pensando un poco más allá, el problema podría ser el tipo de dato. Si 
created es un timestamp el rango de fechas que estas usando se completa así: 
BETWEEN '2019-01-01 00:00:00' AND '2019-12-31 00:00:00'.
Es decir, la fecha automáticamente completa las horas a la medianoche así que 
tu criterio de busqueda debería ser: BETWEEN '2019-01-01' AND
'2019-12-31 23:59.59.99'

--
Jaime Casanova
Director de Servicios Profesionales
SYSTEMGUARDS - Consultores de PostgreSQL

Jaime ahi estuve mirando mas a detalle, tiene relaciones que no están dentro 
del rango de fecha que quiero eliminar, tendría que deshabilitar la foreign key?

Saludos
“El contenido del presente mensaje (y sus anexos) es privado, confidencial y de 
exclusivo uso para el destinatario referenciado; es de público conocimiento que 
las comunicaciones por medio de Internet no permiten asegurar ni garantizar la 
confidencialidad de los mensajes transmitidos, así como tampoco su integridad o 
su correcta recepción; es por ello que SOFSE no se responsabiliza de posibles 
perjuicios derivados de la captura, incorporaciones de virus o cualquier otra 
manipulación efectuada por terceros. Las opiniones expresadas en este mensaje y 
en los archivos adjuntos son propias del remitente y no representan la opinión 
o políticas de SOFSE, salvo que se diga expresamente y el remitente se 
encuentre autorizado para ello”


RE: Consulta foreign key

2021-03-24 Thread Romero, Fernando


-Mensaje original-
De: Jaime Casanova [mailto:jcasa...@systemguards.com.ec]
Enviado el: miércoles, 24 de marzo de 2021 03:26
Para: Romero, Fernando 
CC: pgsql-es-ay...@postgresql.org
Asunto: Re: Consulta foreign key

On Tue, Mar 23, 2021 at 10:03 PM Romero, Fernando 
 wrote:
>
> Si chequeo el campo id al que hace referencia en ese rango de fechas
> no tiene datos
>
> select id from logpack_sheetorderhistory where created BETWEEN
> '2019-01-01' AND '2019-12-31';
>

Lo  que deberías estar chequeando es:

SELECT * FROM logpack_sheetorderhistory WHERE id = 14470448;

Es muy probable que simplemente ese registro no esté en el mismo rango de 
fechas.

Ahora, pensando un poco más allá, el problema podría ser el tipo de dato. Si 
created es un timestamp el rango de fechas que estas usando se completa así: 
BETWEEN '2019-01-01 00:00:00' AND '2019-12-31 00:00:00'.
Es decir, la fecha automáticamente completa las horas a la medianoche así que 
tu criterio de busqueda debería ser: BETWEEN '2019-01-01' AND
'2019-12-31 23:59.59.99'

--
Jaime Casanova
Director de Servicios Profesionales
SYSTEMGUARDS - Consultores de PostgreSQL

Antes me habia tira otro error con otro id, borre ese id y cuando borro el id 
que me da error me vuelve a tirar otro y el id que me tira no esta en el rango 
de fecha que quiero borrar

Saludos
“El contenido del presente mensaje (y sus anexos) es privado, confidencial y de 
exclusivo uso para el destinatario referenciado; es de público conocimiento que 
las comunicaciones por medio de Internet no permiten asegurar ni garantizar la 
confidencialidad de los mensajes transmitidos, así como tampoco su integridad o 
su correcta recepción; es por ello que SOFSE no se responsabiliza de posibles 
perjuicios derivados de la captura, incorporaciones de virus o cualquier otra 
manipulación efectuada por terceros. Las opiniones expresadas en este mensaje y 
en los archivos adjuntos son propias del remitente y no representan la opinión 
o políticas de SOFSE, salvo que se diga expresamente y el remitente se 
encuentre autorizado para ello”


Re: Consulta foreign key

2021-03-24 Thread Jaime Casanova
On Tue, Mar 23, 2021 at 10:03 PM Romero, Fernando
 wrote:
>
> Si chequeo el campo id al que hace referencia en ese rango de fechas no tiene 
> datos
>
> select id from logpack_sheetorderhistory where created BETWEEN '2019-01-01' 
> AND '2019-12-31';
>

Lo  que deberías estar chequeando es:

SELECT * FROM logpack_sheetorderhistory WHERE id = 14470448;

Es muy probable que simplemente ese registro no esté en el mismo rango
de fechas.

Ahora, pensando un poco más allá, el problema podría ser el tipo de
dato. Si created es un timestamp el rango de fechas que estas usando
se completa así: BETWEEN '2019-01-01 00:00:00' AND '2019-12-31
00:00:00'.
Es decir, la fecha automáticamente completa las horas a la medianoche
así que tu criterio de busqueda debería ser: BETWEEN '2019-01-01' AND
'2019-12-31 23:59.59.99'

-- 
Jaime Casanova
Director de Servicios Profesionales
SYSTEMGUARDS - Consultores de PostgreSQL




Consulta foreign key

2021-03-23 Thread Romero, Fernando
Hola como estan, consulto por un tema de foreign key ya que algo se me esta 
escapando.
Estoy borrado una tabla entre fecha me tiro violacion de contrainst porque hace 
referencia a otra tabla, fui a esa tabla y borre las misma fecha, cuando vuelvo 
a la tabla me vuelve a tirar error deviolacion de constraints con otro id.

=> delete from logpack_orderstatehistory where created BETWEEN '2019-01-01' AND 
'2019-12-31';
ERROR:  update or delete on table "logpack_orderstatehistory" violates foreign 
key constraint 
"logpack_sheetorderhi_order_state_history__dfe8dbe1_fk_logpack_o" on table 
"logpack_sheetorderhistory"
DETAIL:  Key (id)=(13388177) is still referenced from table 
"logpack_sheetorderhistory".
=> delete from logpack_sheetorderhistory where created BETWEEN '2019-01-01' AND 
'2019-12-31';
DELETE 6557673
=> delete from logpack_orderstatehistory where created BETWEEN '2019-01-01' AND 
'2019-12-31';
ERROR:  update or delete on table "logpack_orderstatehistory" violates foreign 
key constraint 
"logpack_sheetorderhi_order_state_history__dfe8dbe1_fk_logpack_o" on table 
"logpack_sheetorderhistory"
DETAIL:  Key (id)=(14470448) is still referenced from table 
"logpack_sheetorderhistory".

Si chequeo el campo id al que hace referencia en ese rango de fechas no tiene 
datos
select id from logpack_sheetorderhistory where created BETWEEN '2019-01-01' AND 
'2019-12-31';
id

(0 rows)

Que error estoy cometiendo?

Saludos y gracias


"El contenido del presente mensaje (y sus anexos) es privado, confidencial y de 
exclusivo uso para el destinatario referenciado; es de p?blico conocimiento que 
las comunicaciones por medio de Internet no permiten asegurar ni garantizar la 
confidencialidad de los mensajes transmitidos, as? como tampoco su integridad o 
su correcta recepci?n; es por ello que SOFSE no se responsabiliza de posibles 
perjuicios derivados de la captura, incorporaciones de virus o cualquier otra 
manipulaci?n efectuada por terceros. Las opiniones expresadas en este mensaje y 
en los archivos adjuntos son propias del remitente y no representan la opini?n 
o pol?ticas de SOFSE, salvo que se diga expresamente y el remitente se 
encuentre autorizado para ello"