![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
insert в Oracle [D7, XP]
prodex © (2011-07-23 03:21:00)Есть таблица в 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)
пишет что не верный месяц.
Кто-нибудь, что-нибудь подскажет?
MsGuns (2011-07-26 16:36:00) [1]>Игорь Шевченко © (26.07.11 14:00) [9]
>Не знающим оракла просьба молчать и слушать!
Слушаюсь, тов. прапорщик !
Игорь Шевченко (2011-07-26 16:06:00) [2]DiamondShark © (26.07.11 15:25) [10]
> On that day, all your date-related code will break
Угу, will break. Туда ему и дорога, тащемта
DiamondShark (2011-07-26 15:25:00) [3]Implicit conversion is risky, and it isn't recommended. Following is an example of implicit conversion from a character string to a DATE variable:
DECLARESuch 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.
birthdate DATE;
BEGIN
birthdate := '15-Nov-1961';
END;
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 14:00:00) [4]MsGuns © (26.07.11 11:20) [8]
Не знающим оракла просьба молчать и слушать!
MsGuns (2011-07-26 11:20:00) [5]>Игорь Шевченко © (25.07.11 12:42) [7]
>Для текущего сеанса строковое представление даты будет интерпретироваться согласно указанному формату, вроде не вредный, если даты преимущественно в одном формате.
Вероятно, Шарк имел в виду опасность такой технологии в том, что нет гарантии в том, что прогер, писавший контекстную бизнес-логику (триггеры например) не пользовался этой же методой и в результате - кака вонюча :)
Игорь Шевченко (2011-07-25 12:42:00) [6]
> А не вредный ли это совет?
Для текущего сеанса строковое представление даты будет интерпретироваться согласно указанному формату, вроде не вредный, если даты преимущественно в одном формате.
DiamondShark (2011-07-25 12:24:00) [7]
> 1. ALTER SESSION SET NLS_DATE_FORMAT=
А не вредный ли это совет?
Игорь Шевченко (2011-07-25 11:24:00) [8]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 11:12:00) [9]
> пишет что не верный месяц.
to_date() с явным указанием формата спасёт ОРД.
А чем не устраивают запросы с параметрами?
Запросы все однотипные, самое то для параметризованого запроса. Зачем вам возюкаться с ручным форматированием данных?
prodex (2011-07-23 16:28:00) [10]С датой разобрался. Одну строку удается скормить.
> а поддерживает ли oracle пакеты команд
т.е. возможно что только по одной команде?
Или можно выполнить по одной строке, а после выполнить commit?
Loginov Dmitry (2011-07-23 11:47:00) [11]
> Кто-нибудь, что-нибудь подскажет?
А ничего, что поле объявлено как "DATE", а в него пытаешься занести сразу и дату и время? Это допустимо для оракла?
sniknik (2011-07-23 09:49:00) [12]> Можно чем-нибудь заменить?
это вторично, и символ не виноват... сначала выясни, а поддерживает ли oracle пакеты команд. и та наверняка будет и чем команды разделять...
> Кто-нибудь, что-нибудь подскажет?
кто-нибудь наверняка, параметры например.