TABLE_A
id | not null | number(10)
name | not null | varchar(50)
photo | not null | blob
Si je veux supprimer des données blob de la colonne photo
du tableau A
Ma table se compose autour de 2.000.000 lignes, il devient donc de temps pour exécuter l'instruction UPDATE
.
Mon approche:
CREATE DIRECTORY EXT_DIR as '/tmp/TEST/';
CREATE TABLE TABLE_TEMP
(
ID varchar2(10),
NAME varchar2(50)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY EXT_DIR
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
(
ID char(10),
NAME char(50)
)
)
LOCATION ('TABLE_A.csv') ---dump taken from TABLE_A
)
REJECT LIMIT UNLIMITED;
/
INSERT INTO TABLE_A(ID,NAME) SELECT ID,NAME FROM TABLE_TEMP;
Mon approche prenait des données de table en CSV et en utilisant le tableau EXTERNE pour insérer des données CSV dans ma table mais comme CSV peut stocker jusqu'à 1048576 lignes, Admirer donc des façons différentes.
Qu'avez-vous essayé? SO n'est pas pour les questions pratiques, donc vous devriez faire une recherche, essayer quelque chose et ensuite, si vous avez encore besoin d'aide, postez une question – Aleksej
Ok noté! Tout d'abord, ma table se compose d'environ 20 lignes lac, ce qui prend beaucoup de temps pour exécuter une instruction UPDATE. Mon approche consistait à prendre des données de table dans CSV et à utiliser EXTERNAL TABLE pour insérer des données CSV dans ma table mais comme CSV peut stocker jusqu'à 1048576 lignes. –
Si vous pouvez faire des instructions DDL, déposez la colonne, puis ajoutez-la à nouveau. Mais qu'en est-il de la contrainte NOT NULL sur la colonne? – Aleksej