Hey all,
I have these tables:
Products
CREATE TABLE "COMPDB"."PRODUCTS"
( "PRO_ID" NUMBER NOT NULL ENABLE,
"PRO_NAME" VARCHAR2(40 BYTE) NOT NULL ENABLE,
"COMPETITOR" NUMBER NOT NULL ENABLE,
"CATEGORY" NUMBER NOT NULL ENABLE,
"INS_USER" VARCHAR2(50 BYTE),
"UPD_USER" VARCHAR2(50 BYTE),
"INS_DATE" DATE,
"UPD_DATE" DATE,
"VERSION" NUMBER,
"PHOTO" BLOB,
"FILENAME" VARCHAR2(255 BYTE),
"MIMETYPE" VARCHAR2(255 BYTE),
"LAST_UPDATE_DATE" DATE,
CONSTRAINT "PRODUCT_PK" PRIMARY KEY ("PRO_ID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "COMPDB" ENABLE,
CONSTRAINT "PRO_CAT_FK" FOREIGN KEY ("CATEGORY")
REFERENCES "COMPDB"."CATEGORY" ("CAT_ID") ON DELETE CASCADE ENABLE,
CONSTRAINT "PRO_COMP_FK" FOREIGN KEY ("COMPETITOR")
REFERENCES "COMPDB"."COMPETITORS" ("COMP_ID") ON DELETE CASCADE ENABLE
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "COMPDB"
LOB ("PHOTO") STORE AS BASICFILE (
TABLESPACE "COMPDB" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
NOCACHE LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ;
CREATE OR REPLACE TRIGGER "COMPDB"."TRG_PRODUCTS_BRI" BEFORE
INSERT ON PRODUCTS REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW BEGIN IF :NEW.PRO_ID IS NULL THEN
SELECT PRODUCTS_SEQ.NEXTVAL INTO :NEW.PRO_ID FROM DUAL;
END IF;
:NEW.INS_USER := NVL(:NEW.INS_USER,Comm_Usermanagement.Get_Username);
:NEW.INS_DATE := sysdate;
:NEW.UPD_USER := NVL(:NEW.UPD_USER,Comm_Usermanagement.Get_Username);
:NEW.UPD_DATE := sysdate;
:NEW.VERSION := NVL(:NEW.VERSION,0);
END;
/
ALTER TRIGGER "COMPDB"."TRG_PRODUCTS_BRI" ENABLE;
CREATE OR REPLACE TRIGGER "COMPDB"."TRG_PRODUCTS_BRU" BEFORE
UPDATE ON PRODUCTS REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW BEGIN IF NOT UPDATING ('UPD_USER')
OR :NEW.UPD_USER IS NULL THEN :NEW.UPD_USER := Comm_Usermanagement.Get_Username;
END IF;
IF NOT UPDATING ('UPD_DATE') OR :NEW.UPD_DATE IS NULL THEN
:NEW.UPD_DATE := sysdate;
END IF;
IF NOT UPDATING ('VERSION') THEN
:NEW.VERSION := :OLD.VERSION + 1;
END IF;
END;
/
ALTER TRIGGER "COMPDB"."TRG_PRODUCTS_BRU" ENABLE;
Competitors:
CREATE TABLE "COMPDB"."COMPETITORS"
( "COMP_ID" NUMBER NOT NULL ENABLE,
"COMP_NAME" VARCHAR2(40 BYTE) NOT NULL ENABLE,
"INS_USER" VARCHAR2(50 BYTE),
"UPD_USER" VARCHAR2(50 BYTE),
"INS_DATE" DATE,
"UPD_DATE" DATE,
"VERSION" NUMBER,
CONSTRAINT "COMPETITOR_PK" PRIMARY KEY ("COMP_ID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "COMPDB" ENABLE
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "COMPDB" ;
CREATE OR REPLACE TRIGGER "COMPDB"."TRG_COMPETITORS_BRI" BEFORE
INSERT ON COMPETITORS REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW BEGIN IF :NEW.COMP_ID IS NULL THEN
SELECT COMPETITORS_SEQ.NEXTVAL INTO :NEW.COMP_ID FROM DUAL;
END IF;
:NEW.INS_USER := NVL(:NEW.INS_USER,Comm_Usermanagement.Get_Username);
:NEW.INS_DATE := sysdate;
:NEW.UPD_USER := NVL(:NEW.UPD_USER,Comm_Usermanagement.Get_Username);
:NEW.UPD_DATE := sysdate;
:NEW.VERSION := NVL(:NEW.VERSION,0);
END;
/
ALTER TRIGGER "COMPDB"."TRG_COMPETITORS_BRI" ENABLE;
CREATE OR REPLACE TRIGGER "COMPDB"."TRG_COMPETITORS_BRU" BEFORE
UPDATE ON COMPETITORS REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW BEGIN IF NOT UPDATING ('UPD_USER')
OR :NEW.UPD_USER IS NULL THEN :NEW.UPD_USER := Comm_Usermanagement.Get_Username;
END IF;
IF NOT UPDATING ('UPD_DATE') OR :NEW.UPD_DATE IS NULL THEN
:NEW.UPD_DATE := sysdate;
END IF;
IF NOT UPDATING ('VERSION') THEN
:NEW.VERSION := :OLD.VERSION + 1;
END IF;
END;
/
ALTER TRIGGER "COMPDB"."TRG_COMPETITORS_BRU" ENABLE;
Category
CREATE TABLE "COMPDB"."CATEGORY"
( "CAT_ID" NUMBER NOT NULL ENABLE,
"CAT_NAME" VARCHAR2(40 BYTE) NOT NULL ENABLE,
"INS_USER" VARCHAR2(50 BYTE),
"UPD_USER" VARCHAR2(50 BYTE),
"INS_DATE" DATE,
"UPD_DATE" DATE,
"VERSION" NUMBER,
CONSTRAINT "CATEGORY_PK" PRIMARY KEY ("CAT_ID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "COMPDB" ENABLE
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "COMPDB" ;
CREATE OR REPLACE TRIGGER "COMPDB"."TRG_CATEGORY_BRI" BEFORE
INSERT ON CATEGORY REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW BEGIN IF :NEW.CAT_ID IS NULL THEN
SELECT CATEGORY_SEQ.NEXTVAL INTO :NEW.CAT_ID FROM DUAL;
END IF;
:NEW.INS_USER := NVL(:NEW.INS_USER,Comm_Usermanagement.Get_Username);
:NEW.INS_DATE := sysdate;
:NEW.UPD_USER := NVL(:NEW.UPD_USER,Comm_Usermanagement.Get_Username);
:NEW.UPD_DATE := sysdate;
:NEW.VERSION := NVL(:NEW.VERSION,0);
END;
/
ALTER TRIGGER "COMPDB"."TRG_CATEGORY_BRI" ENABLE;
CREATE OR REPLACE TRIGGER "COMPDB"."TRG_CATEGORY_BRU" BEFORE
UPDATE ON CATEGORY REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW BEGIN IF NOT UPDATING ('UPD_USER')
OR :NEW.UPD_USER IS NULL THEN :NEW.UPD_USER := Comm_Usermanagement.Get_Username;
END IF;
IF NOT UPDATING ('UPD_DATE') OR :NEW.UPD_DATE IS NULL THEN
:NEW.UPD_DATE := sysdate;
END IF;
IF NOT UPDATING ('VERSION') THEN
:NEW.VERSION := :OLD.VERSION + 1;
END IF;
END;
/
ALTER TRIGGER "COMPDB"."TRG_CATEGORY_BRU" ENABLE;
Now my problem:
In want to delete the blob column(The Content) in Products and the columns, which belong to this column(Filename,Mimetype,Last_update_date).
EMPTY_BLOB() doesn't work :-/
also set to null.
I can still download the file,though I can see null in this column in sql developer.
Hope someone can help.