2013-10-11 2 views
-2

я получил простой (но большой) вставить команду, которая дает мне эту ошибку:ORA-00932: непоследовательные dadatypes: ожидаемое число получил DATE

ORA-00932: inconsistent dadatypes: expected NUMBER got DATE 

Вот вставка:

INSERT INTO TB_SOLIC_COTACAO 
( NUM_SOLIC , 
    NUM_HIST_SOLIC , 
    COD_FILIAL , 
    COD_CORRETOR , 
    COD_ACCOUNT , 
    NUM_CGC_PROPON , 
    COD_RAMO , 
    COD_PRODUTO , 
    TIP_RAMO , 
    TIP_ENVIO , 
    COD_STATUS , 
    NUM_APOLICE_EMITIDA , 
    DT_EMISSAO , 
    DSC_LOCAL_ASSINAT , 
    DT_LOCAL_ASSINAT , 
    DT_ATUALIZ , 
    ID_USUARIO_ATUALIZ , 
    COD_MOTIVO_RECUSA , 
    DSC_COMPLEMENTO_MOTIVO_RECUSA, 
    NUM_PROPOSTA , 
    TIP_MOE_SOLIC , 
    VAL_LIMITE_APOLICE , 
    VAL_PMO_ESTIMADO , 
    COD_SUBSCRITOR , 
    DSC_EMAIL , 
    COD_SUB_LOCAL , 
    IND_RMO_CLAUSULA , 
    IND_VERIF_CRIVO , 
    TIP_SEGURO , 
    IND_BLOQUEIO_CORRETOR , 
    COD_ASSESSORIA , 
    DSC_EMAIL_ASSESSORIA , 
    DT_EMAIL_AVISO_COBRANCA , 
    IND_EXCLUSIVIDADE , 
    DT_EXCLUSIVIDADE , 
    COD_TIPO_USUARIO , 
    TIP_ENDOS , 
    TIP_MODAL_EMIS , 
    DSC_OBS_PARECER , 
    DSC_OBS_COTACAO 
    ) 
    (SELECT num_solic , 
       2 , 
       cod_filial , 
       cod_corretor , 
       cod_account , 
       num_cgc_propon , 
       cod_ramo , 
       cod_produto , 
       tip_ramo , 
       tip_envio , 
       3 , 
       num_apolice_emitida , 
       dt_emissao , 
       dsc_local_assinat , 
       dt_local_assinat , 
       SYSDATE , 
       17590 , 
       ' ' , 
       cod_motivo_recusa , 
       dsc_complemento_motivo_recusa , 
       num_proposta , 
       tip_moe_solic , 
       val_limite_apolice , 
       val_pmo_estimado , 
       cod_subscritor , 
       dsc_email , 
       cod_sub_local , 
       ind_rmo_clausula , 
       ind_verif_crivo , 
       tip_seguro , 
       ind_bloqueio_corretor , 
       cod_assessoria , 
       dsc_email_assessoria , 
       dt_email_aviso_cobranca , 
       ind_exclusividade , 
       dt_exclusividade , 
       cod_tipo_usuario, 
       tip_endos, 
       tip_modal_emis 
       dsc_obs_parecer, 
       dsc_obs_cotacao 
     FROM tb_solic_cotacao 
     WHERE num_solic = 93 
       AND num_hist_solic = 1); 

Я знаю, что означает эта ошибка, я уже проверял ряд за строкой вставки, но типы данных кажутся мне удобными! На самом деле не знаю, что случилось.

Вот де определение таблицы:

NUM_SOLIC      NOT NULL NUMBER(18)   
NUM_HIST_SOLIC    NOT NULL NUMBER(10)   
COD_FILIAL        VARCHAR2(4 CHAR)  
COD_CORRETOR       VARCHAR2(15 CHAR) 
COD_ACCOUNT       VARCHAR2(15 CHAR) 
NUM_CGC_PROPON    NOT NULL NUMBER(18)   
COD_RAMO      NOT NULL NUMBER(5)   
COD_PRODUTO     NOT NULL NUMBER(5)   
TIP_RAMO      NOT NULL CHAR(3 CHAR)   
TIP_ENVIO      NOT NULL CHAR(1 CHAR)   
COD_STATUS     NOT NULL NUMBER(5)   
NUM_APOLICE_EMITIDA     VARCHAR2(30 CHAR) 
DT_EMISSAO        DATE     
DSC_LOCAL_ASSINAT      VARCHAR2(30 CHAR) 
DT_LOCAL_ASSINAT      DATE     
DT_ATUALIZ     NOT NULL DATE     
ID_USUARIO_ATUALIZ      VARCHAR2(50 CHAR) 
COD_MOTIVO_RECUSA      NUMBER(5)   
DSC_COMPLEMENTO_MOTIVO_RECUSA   VARCHAR2(100 CHAR) 
NUM_PROPOSTA       VARCHAR2(20 CHAR) 
TIP_MOE_SOLIC       CHAR(1 CHAR)   
VAL_LIMITE_APOLICE      FLOAT(126)   
VAL_PMO_ESTIMADO      FLOAT(126)   
COD_SUBSCRITOR       VARCHAR2(15 CHAR) 
DSC_EMAIL        VARCHAR2(2000 CHAR) 
COD_SUB_LOCAL       VARCHAR2(4 CHAR)  
IND_RMO_CLAUSULA      NUMBER(1)   
IND_VERIF_CRIVO      NUMBER(1)   
TIP_SEGURO        CHAR(3 CHAR)   
IND_BLOQUEIO_CORRETOR     CHAR(1 CHAR)   
COD_ASSESSORIA       NUMBER(10)   
DSC_EMAIL_ASSESSORIA     VARCHAR2(2000 CHAR) 
DT_EMAIL_AVISO_COBRANCA    DATE     
IND_EXCLUSIVIDADE      CHAR(1 CHAR)   
DT_EXCLUSIVIDADE      DATE     
COD_TIPO_USUARIO      NUMBER(5)   
TIP_ENDOS        VARCHAR2(10 CHAR) 
TIP_MODAL_EMIS       VARCHAR2(10 CHAR) 
DSC_OBS_PARECER      CLOB     
DSC_OBS_COTACAO      CLOB     

Что мне не хватает?

спасибо.

+1

У вас есть 3 значения здесь: 'SYSDATE, 17590, '', '2 столбца в списке столбцов (' 17590', кажется, из место там). И отсутствующая запятая внизу, по адресу: 'tip_modal_emis' –

+1

Хороший редактор с режимом копирования и вставки столбца очень полезен для этих длинных операторов вставки sql. Вы можете скопировать список целевых столбцов и вставить его вправо или влево от предложения select или values, чтобы было проще обеспечить правильное отображение. Выравнивание всех ваших запятых в одном столбце также помогает выделить все, что отсутствует. –

+0

Эй, @ypercube, я действительно пропустил эту запятую. Ответьте на вопрос, чтобы я мог отметить его как правильный ответ. – gabsferreira

ответ

0

Проверьте:

  • число столбцов совпадают в списке имен столбцов и значения
  • в каждой строке и столбце у вас есть пара

Самый простой способ для достижения этой цели будет таблица excel, в которую вы вставляете в первую строку столбцы (с их типом) в каждой ячейке, а в более низких строках вы вставляете значения, которые хотите вставить. Найдите проблемы и исправьте их.

0

я думаю, что самый простой способ:

DROP TABLE TB_SOLIC_COTACAO; 

    Create TABLE TB_SOLIC_COTACAO as 
    (SELECT num_solic , 
      2 as NUM_HIST_SOLIC, 
      cod_filial , 
      cod_corretor , 
      cod_account , 
      num_cgc_propon , 
      cod_ramo , 
      cod_produto , 
      tip_ramo , 
      tip_envio , 
      3 as COD_STATUS, 
      num_apolice_emitida , 
      dt_emissao , 
      dsc_local_assinat , 
      dt_local_assinat , 
      SYSDATE , 
      17590 as DT_ATUALIZ, 
      ' ' as ID_USUARIO_ATUALIZ, 
      cod_motivo_recusa , 
      dsc_complemento_motivo_recusa , 
      num_proposta , 
      tip_moe_solic , 
      val_limite_apolice , 
      val_pmo_estimado , 
      cod_subscritor , 
      dsc_email , 
      cod_sub_local , 
      ind_rmo_clausula , 
      ind_verif_crivo , 
      tip_seguro , 
      ind_bloqueio_corretor , 
      cod_assessoria , 
      dsc_email_assessoria , 
      dt_email_aviso_cobranca , 
      ind_exclusividade , 
      dt_exclusividade , 
      cod_tipo_usuario, 
      tip_endos, 
      tip_modal_emis 
      dsc_obs_parecer, 
      dsc_obs_cotacao 
    FROM tb_solic_cotacao 
    WHERE num_solic = 93 
      AND num_hist_solic = 1) 
Смежные вопросы