-- MySQL CREATE TABLE ProductsBak ( prod_id CHAR(10) NOT NULL, vend_id CHAR(10) NOT NULL, prod_name CHAR(254) NOT NULL, prod_price DECIMAL(8,2) NOT NULL, prod_desc VARCHAR(1000) NULL );
-- MySQL CREATE TABLE OrderItemsBak ( order_num INTEGER NOT NULL, order_item INTEGER NOT NULL, prod_id CHAR(10) NOT NULL, quantity INTEGER NOT NULL DEFAULT 1, item_price DECIMAL(8,2) NOT NULL );
| DBMS | Function / Varable |
|---|---|
| Oracle | SYSDATE |
| MySQL | CURRENT_DATE() / NOW() |
| SQL SERVER | GETDATE() |
| PostgreSQL | CURRENT_DATE |
| DB2 | CURRENT_DATE |
| SQLite | date('now') |
-- MySQL CREATE TABLE OrdersBak ( order_num INTEGER NOT NULL, order_date DATETIME NOT NULL DEFAULT NOW(), cust_id INTEGER NOT NULL );
-- MySQL ALTER TABLE ProductsBak ADD prod_weight CHAR(20);
| DBMS | Aanpak |
|---|---|
| Oracle / MySQL / MariaDB / DB2 / PostgrSQL | RENAME statement |
| SQL Server | sp_rename |
| SQLite | ALTER TABLE |
-- MySQL RENAME TABLE ProductsBak TO ProductsBackup; -- Oracle: RENAME ProductsBak TO ProductsBackup;
-- Oracle / MySQL / SQL Server DROP TABLE ProductsBackup; DROP TABLE OrderItemsBak; DROP TABLE OrdersBak;
Er is geen 'Undo' in SQL
Deze oefening gaat ervan uit dat custCopy nog gevuld is met de gegevens uit H15, vraag 66. Het TRUNCATE-voorbeeld in H16 is alleen theorie en wordt niet automatisch uitgevoerd. Heb je het zelf uitgevoerd, maak custCopy dan opnieuw aan met H15, vraag 66; verwijder daarvoor eerst de lege tabel.