Se i dati aderiscono alle regole di espressione, il motore del database accetta i dati e consente l'istruzione insert o aggiornamento. In caso contrario, se i dati non rispettano le leggi, il motore del database rifiuta i dati e nega l'operazione di inserto o aggiornamento.
Una singola colonna può avere uno o più vincoli di controllo, a condizione che non siano in conflitto con gli altri vincoli di controllo esistenti. Inoltre, non si dovrebbe assumere l'ordine di valutazione dell'espressione.
Allo stesso modo, puoi avere più di una colonna con un vincolo di controllo.
Regole di un vincolo di assegno in Oracle
Quando si definisce un vincolo di controllo nei database Oracle, assicurarsi di seguire queste regole:
Sebbene sia consigliato di utilizzare un vincolo di controllo durante la creazione della tabella, è possibile incontrare tali scenari in cui è necessario aggiungere un vincolo di controllo a una tabella esistente.
Discutiamo di come possiamo farlo in un database Oracle.
Aggiungi una dichiarazione di vincolo di controllo
Per aggiungere un vincolo di controllo a una tabella di database esistente, utilizziamo l'istruzione Aggiungi alter Tdale. La sintassi è come mostrata:
Alter table table_nameAggiungi un vincolo di controllo alla tabella esistente
Dimostriamo come aggiungere un vincolo di controllo a una tabella esistente. Iniziamo creando una tabella di test:
Crea table product_stock (La query precedente crea una tabella per archiviare le informazioni sull'inventario del prodotto. Quindi, aggiungi alcuni dati di esempio come mostrato nel seguente:
Inserisci in Product_stock (Product_id, Product_Name, stock_quantity, stock_level) valori (1, 'Product1', 100, 'in');Tabella risultante
Supponiamo di voler garantire che i dati inseriti abbiano una stock_quantity di oltre 100. Possiamo aggiungere un vincolo di controllo come segue:
Altera tabella Product_stockOra, se tentiamo di aggiungere una riga con lo stock_quantity di meno di 100, otteniamo un errore come segue:
Inserisci in Product_stock (Product_id, Product_Name, stock_quantity, stock_level) valori (6, 'Product6', 60, 'out');Errore
[23000] [2293] ORA-02293: Impossibile convalidare (HR.Convalida_stock) - Controllare il vincolo violatoConclusione
Ecco qua! Un modo per aggiungere un vincolo di controllo a una tabella esistente nei database Oracle. Speriamo che tu abbia trovato questo articolo utile.