It is currently 8 June 2025, 2:06 Advanced search

Aggiungere campo obbligatorio copiando valore da altro campo

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Aggiungere campo obbligatorio copiando valore da altro campo

Postby d.termini » 21 November 2024, 11:22

SQL Server

Dovendo aggiungere un nuovo campo ad una tabella esistente, e questo è una foreign key obbligatoria, come potrei modificare il DDL per fare in modo che venga copiato il valore da un altro campo presente nella stessa tabella?

Esempio:
Code: Select all
alter table HELPD_QUEUE add DID_SCONTI_ANA_ORIG char(20) collate SQL_Latin1_General_CP850_BIN constraint DID_SCONTI_ANA_ORIG_df_auto_noopt default 'Inserisci alcuni ese' not null |
alter table HELPD_QUEUE drop constraint DID_SCONTI_ANA_ORIG_df_auto_noopt |


Teoricamente dovrei farlo creare opzionale, fare una query che lo popola e quindi renderlo obbligatorio
Di norma questo mi richiede 2 distinte pubblicazioni, sarebbe utile un modo per farlo in una sola senza magari sbagliare a scrivere...
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Aggiungere campo obbligatorio copiando valore da altro c

Postby r.bianco » 25 November 2024, 7:42

Spezzi i comandi SQL e li metti in sequenza, una cosa del tipo:
1. add DID_SCONTI_ANA_ORIG char(20) nullable
2. update DID_SCONTI_ANA_ORIG = DID_SCONTI_ANA
3. add constraint DID_SCONTI_ANA_ORIG_df_auto_noopt

indipendentemente dai comandi SQL eseguiti, il risultato dovrebbe essere il medesimo e con la ZZ_ corretta.
(ovviamente farei qualche prova di pubblicazione e ripubblicazione)
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4979
Joined: 8 November 2010, 16:46

Re: Aggiungere campo obbligatorio copiando valore da altro c

Postby d.termini » 25 November 2024, 8:04

Sì ci ho pensato anche io, devo stare molto attento a cosa scrivo, la probabilità di bloccare l'installazione per un errore di battitura è altissima, specialmente perché sono molto arrugginito nelle istruzioni di modifica struttura (grazie InDe che te ne occupi tu :D)
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot], Majestic-12 [Bot] and 49 guests