Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.11.13;
Скачать: CL | DM;

Вниз

insert в Oracle   Найти похожие ветки 

 
prodex   (2011-07-23 03:21) [0]

Есть таблица в oracle.
ABS_NUM_PAR  NUMBER 10
TIME_STAMP    DATE
TIME_WRITE     DATE
VALUE             FLOAT8

Использую компоненту OraScript ODAC CoreLab.
пытался выполнить:
INSERT INTO Last (ABS_NUM_PAR,TIME_stamp,TIME_write,Value) VALUES (1929,"06.08.2006 14:27:28","23.07.2011 5:24:32",803);
INSERT INTO Last (ABS_NUM_PAR,TIME_stamp,TIME_write,Value) VALUES (1905,"06.08.2006 14:27:18","23.07.2011 5:24:32",815);
INSERT INTO Last (ABS_NUM_PAR,TIME_stamp,TIME_write,Value) VALUES (1904,"06.08.2006 14:27:18","23.07.2011 5:24:32",775);
Ругался на некий символ. Выяснил, что ; нельзя. Можно чем-нибудь заменить?
потом пробовал одной строкой:
INSERT INTO Last (ABS_NUM_PAR,TIME_stamp,TIME_write,Value) VALUES (1929,"06.08.2006 14:27:28","23.07.2011 5:24:32",803)

пишет что не верный месяц.
Кто-нибудь, что-нибудь подскажет?


 
sniknik ©   (2011-07-23 09:49) [1]

> Можно чем-нибудь заменить?
это вторично, и символ не виноват... сначала выясни, а поддерживает ли oracle пакеты команд. и та наверняка будет и чем команды разделять...

> Кто-нибудь, что-нибудь подскажет?
кто-нибудь наверняка, параметры например.


 
Loginov Dmitry ©   (2011-07-23 11:47) [2]


> Кто-нибудь, что-нибудь подскажет?


А ничего, что поле объявлено как "DATE", а в него пытаешься занести сразу и дату и время? Это допустимо для оракла?


 
prodex   (2011-07-23 16:28) [3]

С датой разобрался. Одну строку удается скормить.

> а поддерживает ли oracle пакеты команд

т.е. возможно что только по одной команде?
Или можно выполнить по одной строке, а после выполнить commit?


 
DiamondShark ©   (2011-07-25 11:12) [4]


> пишет что не верный месяц.

to_date() с явным указанием формата спасёт ОРД.

А чем не устраивают запросы с параметрами?
Запросы все однотипные, самое то для параметризованого запроса. Зачем вам возюкаться с ручным форматированием данных?


 
Игорь Шевченко ©   (2011-07-25 11:24) [5]

0. Использовать параметры
1. ALTER SESSION SET NLS_DATE_FORMAT=
2. Записывать дату в ANSI-формате
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements003.htm#BABGIGCJ


 
DiamondShark ©   (2011-07-25 12:24) [6]


> 1. ALTER SESSION SET NLS_DATE_FORMAT=

А не вредный ли это совет?


 
Игорь Шевченко ©   (2011-07-25 12:42) [7]


> А не вредный ли это совет?


Для текущего сеанса строковое представление даты будет интерпретироваться согласно указанному формату, вроде не вредный, если даты преимущественно в одном формате.


 
MsGuns ©   (2011-07-26 11:20) [8]

>Игорь Шевченко ©   (25.07.11 12:42) [7]
>Для текущего сеанса строковое представление даты будет интерпретироваться согласно указанному формату, вроде не вредный, если даты преимущественно в одном формате.

Вероятно, Шарк имел в виду опасность такой технологии в том, что нет гарантии в том, что прогер, писавший контекстную бизнес-логику (триггеры например) не пользовался этой же методой и в результате - кака вонюча :)


 
Игорь Шевченко ©   (2011-07-26 14:00) [9]

MsGuns ©   (26.07.11 11:20) [8]

Не знающим оракла просьба молчать и слушать!


 
DiamondShark ©   (2011-07-26 15:25) [10]

Implicit conversion is risky, and it isn"t recommended. Following is an example of implicit conversion from a character string to a DATE variable:

DECLARE
  birthdate DATE;
BEGIN
  birthdate := "15-Nov-1961";
END;
Such a conversion relies on the NLS_DATE_FORMAT setting, and will work fine until the day the DBA decides to change that setting. On that day, all your date-related code will break. Changing NLS_DATE_FORMAT at the session level can also break such code.
Rather than rely on implicit conversions and the NLS_DATE_FORMAT setting, it"s far safer to convert dates explicitly via one of the built-in conversion functions. The functions not only make it clear in your code that a type conversion is occurring, they allow you to specify the exact datetime format being used.


 
Игорь Шевченко ©   (2011-07-26 16:06) [11]

DiamondShark ©   (26.07.11 15:25) [10]


> On that day, all your date-related code will break


Угу, will break. Туда ему и дорога, тащемта


 
MsGuns ©   (2011-07-26 16:36) [12]

>Игорь Шевченко ©   (26.07.11 14:00) [9]
>Не знающим оракла просьба молчать и слушать!

Слушаюсь, тов. прапорщик !



Страницы: 1 вся ветка

Текущий архив: 2011.11.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
3-1266257536
GEN001
2010-02-15 21:12
2011.11.13
MSSQL и поле типа TEXT


15-1310643873
Ламот
2011-07-14 15:44
2011.11.13
Редактирование таблиц Excel


15-1310588993
Юрий
2011-07-14 00:29
2011.11.13
С днем рождения ! 14 июля 2011 четверг


15-1307197263
Sergey Masloff
2011-06-04 18:21
2011.11.13
Привет из солнечного Крыма


9-1189865512
andreil
2007-09-15 18:11
2011.11.13
Вопрос по вращению в OpenGl