創造型我有這樣的一個表:獲取PLS-00201錯誤,而在Oracle
CREATE TABLE T_C_EVO_GAME_CONFIG_CHANGE_LOG(
F_TABLE_MODIFIED VARCHAR2(40),
F_OPERATION_PERFORMED VARCHAR2(30),
F_ROWS_ALTERED INTEGER,
F_LAST_UPDATED_BY VARCHAR2(200),
F_LAST_UPDATED_DATE TIMESTAMP);
我試圖建立具有相同結構的類型:
create or replace type TYPE_EVOL_CONFIG_CHANGE_LOG as object
(
F_TABLE_MODIFIED T_C_EVO_GAME_CONFIG_CHANGE_LOG.TABLE_MODIFIED%TYPE ,
F_OPERATION_PERFORMED T_C_EVO_GAME_CONFIG_CHANGE_LOG.OPERATION_PERFORMED%TYPE,
F_ROWS_ALTERED T_C_EVO_GAME_CONFIG_CHANGE_LOG.ROWS_ALTERED%TYPE ,
F_LAST_UPDATED_BY T_C_EVO_GAME_CONFIG_CHANGE_LOG.LAST_UPDATED_BY%TYPE ,
F_LAST_UPDATED_DATE T_C_EVO_GAME_CONFIG_CHANGE_LOG.LAST_UPDATED_DATE%TYPE
);
獲取以下在創建類型錯誤消息:
錯誤(3,25):PLS-00201:標識符 'T_C_EVO_GAME_CONFIG_CHANGE_LOG.TABLE_MODIFIED' 必須被聲明。
此前我試圖創建類型而不使用%TYPE
,只是簡單地複製參數定義,它的工作原理。 但是我不想在Table中進行任何更改時對Type進行任何更改。
您的列名以'F_'前綴開頭,對於'%TYPE',您必須完全像在create-table-statement中那樣編寫它們。 –
喔即使具有相同的名稱,如: 創建或替換類型TYPE_EVOL_CONFIG_CHANGE_LOG作爲對象 ( F_TABLE_MODIFIED T_C_EVO_GAME_CONFIG_CHANGE_LOG.F_TABLE_MODIFIED%TYPE, F_OPERATION_PERFORMED T_C_EVO_GAME_CONFIG_CHANGE_LOG.F_OPERATION_PERFORMED%TYPE, F_ROWS_ALTERED T_C_EVO_GAME_CONFIG_CHANGE_LOG.F_ROWS_ALTERED%TYPE, F_LAST_UPDATED_BY T_C_EVO_GAME_CONFIG_CHANGE_LOG.F_LAST_UPDATED_BY%TYPE , F_LAST_UPDATED_DATE T_C_EVO_GAME_CONFIG_CHANGE_LOG.F_LAST_UPDATED_DATE%TYPE ); 它給出了相同的錯誤。 –
抱歉,它不能這樣工作,請參閱APC的出色答案 –