[Gfoss] PostgreSQL/PostGIS - rule Insert su vista con join

Totò Fiandaca pigrecoinfinito a gmail.com
Ven 25 Set 2015 11:36:49 CEST


Buongiorno Nino e Francesco, vi rispondo ad entrambi

@Nino:
conosco i vincoli di integrità referenziale, ma come vuole la teoria se
esiste una pk (lato tabella madre) non è detto che esista una fk (lato
tabella figlia) ma è necessaria al contrario. Nel mio caso vorrei
automatizzare il processo nel senso che appena creo una nuova pk si
dovrebbe creare (con valore uguale) la fk nell'altra tabella. come fare?

per quanto riguarda il numero di rule: non saprei, io ho creato tre rules.

@Francesco:
l'ID della tabella B è di tipo integer, mi risulta impossibile cambiare il
datatype in serial!!!

grazie ad entrambi.

saluti

Il giorno 25 settembre 2015 10:43, francesco marucci <
francesco.marucci a gmail.com> ha scritto:

> scusa, ma hai provato a con la sequenza anche sul campo ID della tabella B?
>
>
> Il giorno 24 settembre 2015 20:34, Totò Fiandaca <
> pigrecoinfinito a gmail.com> ha scritto:
>
>>
>>
>> si, potrei farlo vedere il campo ID della tabella B, ma il problema non
>> cambia;
>> i due ID, dopo l'inserimento, devono essere uguali!!!
>>
>> potrei farlo manualmente, ma non sarebbe elegante!!!
>>
>> Il giorno 24 settembre 2015 20:13, francesco marucci <
>> francesco.marucci a gmail.com> ha scritto:
>>
>>> ciao,
>>> se tu fossi sicuro di fare gli insert sempre sulla vista, puoi avere
>>> anche l'ID della tabella B come serial (forse anche dalla stessa sequenza
>>> della tabella A)..., cosi sarebbero sempre sincronizzati.
>>> poi non ho capito perche nella vista non hai il campo ID della tabella
>>> B, se lo metti chiunque lo vedrà, anche qgis.
>>>
>>> saluti,
>>> francesco
>>> Il 24/set/2015 08:01 PM, "Totò Fiandaca" <pigrecoinfinito a gmail.com> ha
>>> scritto:
>>>
>>>> nel link che mi hai postato c'è troppa confusione e non riesco a
>>>> seguire bene.
>>>>
>>>> cerco di fare un esempio più semplice:
>>>>
>>>> ho creato una vista 'V' partendo da due tabelle 'A' e 'B', tabelle in
>>>> relazione (1:1) tramite il campo 'ID';
>>>> ho creato tre rule nella vista: una per inserimento dati per la tabella
>>>> A, una per inserimento dati per la  tabella B ed infine una rule per
>>>> aggiornamento dei dati della  tabella A;
>>>>
>>>> queste rules mi permettono, aggiungendo la vista in qgis, di modificare
>>>> ed inserire righe nuove;
>>>> il mio problema è il seguente:
>>>> da qgis, in modalità modifica, inserisco un nuovo record (nuova
>>>> geometria) e dopo aver digitato la geometria, giustamente, compare la
>>>> finestra per inserire i dati; in questa finestra compaiono solo i campi
>>>> delle due tabelle (vista) ad eccezione del campo ID unione (il join) della
>>>> seconda tabella (cosa che accade sempre in qgis;
>>>> l'ID della  tabella A è serial  not null (quindi autoincremetale) ma
>>>> l'ID della tabella 'B' (fk)  è integer e non compare nella finestra per
>>>> l'inserimento dati (cosa normale);
>>>> chiedevo come fare (tramite rule o trigger) a impostare, durante
>>>> l'inserimento di un record, il valore ID della tabella B uguale al valore
>>>> ID della tabella A; altrimenti la vista non mi farebbe più vedere il legame
>>>> tra le due tabelle.
>>>>
>>>> troppe parole per un problema semplice, ma che ancora non riesco a
>>>> risolvere (carenze di nozioni plpgsql)
>>>>
>>>> ma ho la testa dura!!! so che è possibile farlo... devo trovare il modo.
>>>>
>>>> ciao
>>>>
>>>>
>>>> 2015-09-24 17:07 GMT+02:00 nformica <ninofor60 a gmail.com>:
>>>>
>>>>> Ciao Totò,
>>>>> se ho capito bene la tua domanda, il tuo problema/quesito è simile a
>>>>> questo
>>>>> ??
>>>>>
>>>>> http://stackoverflow.com/questions/10471757/insert-rows-into-multiple-tables-in-a-single-query-selecting-from-an-involved-t
>>>>>
>>>>> Saluti
>>>>> Nino
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/PostgreSQL-PostGIS-rule-Insert-su-vista-con-join-tp7594100p7594104.html
>>>>> Sent from the Gfoss -- Geographic Free and Open Source Software -
>>>>> Italian mailing list mailing list archive at Nabble.com.
>>>>> _______________________________________________
>>>>> Gfoss a lists.gfoss.it
>>>>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>>>>> Questa e' una lista di discussione pubblica aperta a tutti.
>>>>> I messaggi di questa lista non hanno relazione diretta con le
>>>>> posizioni dell'Associazione GFOSS.it.
>>>>> 750 iscritti al 18.3.2015
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Salvatore Fiandaca*
>>>> *mobile*.:+39 327.493.8955
>>>> *m*: *pigrecoinfinito a gmail.com <pigrecoinfinito a gmail.com>*
>>>> 43°51'0.54"N  10°34'27.62"E - EPSG:4326
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Gfoss a lists.gfoss.it
>>>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>>>> Questa e' una lista di discussione pubblica aperta a tutti.
>>>> I messaggi di questa lista non hanno relazione diretta con le posizioni
>>>> dell'Associazione GFOSS.it.
>>>> 750 iscritti al 18.3.2015
>>>>
>>>
>>> _______________________________________________
>>> Gfoss a lists.gfoss.it
>>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>>> Questa e' una lista di discussione pubblica aperta a tutti.
>>> I messaggi di questa lista non hanno relazione diretta con le posizioni
>>> dell'Associazione GFOSS.it.
>>> 750 iscritti al 18.3.2015
>>>
>>
>>
>>
>> --
>> *Salvatore Fiandaca*
>> *mobile*.:+39 327.493.8955
>> *m*: *pigrecoinfinito a gmail.com <pigrecoinfinito a gmail.com>*
>> 43°51'0.54"N  10°34'27.62"E - EPSG:4326
>>
>>
>>
>
> _______________________________________________
> Gfoss a lists.gfoss.it
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 750 iscritti al 18.3.2015
>



-- 
*Salvatore Fiandaca*
*mobile*.:+39 327.493.8955
*m*: *pigrecoinfinito a gmail.com <pigrecoinfinito a gmail.com>*
43°51'0.54"N  10°34'27.62"E - EPSG:4326
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20150925/f20992ac/attachment.html>


Maggiori informazioni sulla lista Gfoss