2013-04-15 1 views
0

Этот запрос работает нормально:вставки тока date_time в таблице

INSERT 
INTO I#journal 
    (
    Type_, 
    Mndnr, 
    Obj, 
    Status, 
    Reason, 
    Date_ 
) 
    VALUES 
    (
    'CHECK_TRX', 
    '1047', 
    '123123123', 
    'NEW', 
    '', 
    To_Date('10-04-2013 14:35:07', 'dd-mm-yyyy hh24:mi:ss') 
); 

Но я хочу, чтобы вставить текущую дату автоматически вместо To_Date('10-04-2013 14:35:07', 'dd-mm-yyyy hh24:mi:ss')

Так что я попытался Now()

INSERT 
INTO I#journal 
    (
    Type_, 
    Mndnr, 
    Obj, 
    Status, 
    Reason, 
    Date_ 
) 
    VALUES 
    (
    'CHECK_TRX', 
    '1047', 
    'werwerwer', 
    'NEW', 
    '', 
    Now() 
); 

, но я получил ошибка:

Error at Command Line:18 Column:5 
Error report: 
SQL Error: ORA-00904: "NOW": недопустимый идентификатор 
00904. 00000 - "%s: invalid identifier" 
*Cause:  
*Action: 
+0

использовать SYSDATE для получения текущей системной даты .......... – Meherzad

ответ

3

В документации перечислены functions available in Oracle; те из других баз данных могут не работать, особенно нестандартные (ANSI).

Прочитать на SYSDATE и CURRENT_DATE; и если требуется более высокая точность, SYSTIMESTAMP и CURRENT_TIMESTAMP.

Разница между версиями SYS и CURRENT_ заключается в том, используете ли вы время сервера или время сеанса (клиента), которое может быть или не быть значительным различием для вас.

1

попробуйте current_date или current_timestamp вместо

Смежные вопросы