![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
insert в FireBird
Maska © (2009-07-29 13:50:00)Добрый день, мастера!
После MS SQL пытаюсь разобраться с FireBird.
в таблице mt есть одно поле ID int
Создавала так: create table mt(ID int)
Теперь пытаюсь проинсертить в него значение 2 следующим образом:
IBQuery1.SQL.Add('insert into mt');
IBQuery1.SQL.Add('select 2');
IBQuery1.Open
Вылетает ошибка:
sql error code = - 104.
В MS SQL все прокатывало красиво.
Вообще я только начала изучать эту БД
+ посоветуйте толковую литературу.
Спасибо.
Кщд (2009-08-18 08:41:00) [1]>makz (17.08.09 08:37) [26]
мопед не Ваш
я понял)
makz (2009-08-17 08:37:00) [2]>Кщд
Потрудитесь взглянуть на текст автора топика:
> Теперь пытаюсь проинсертить в него значение 2 следующим
> образом:IBQuery1.SQL.Add('insert into mt');IBQuery1.SQL.
> Add('select 2');IBQuery1.Open
Обратите внимание на "следующим образом". Я не в курсе зачем ей такой метод.
Кщд (2009-08-17 05:49:00) [3]>ZeroDivide © (14.08.09 14:32) [20]
select d.*, d2.*
from dual d, dual d2
where d.dummy = d2.dummy(+)
or d.dummy = d2.dummy(+)
Кщд (2009-08-17 05:46:00) [4]>makz (15.08.09 09:50) [21]
insert into mt(somefield) values (2)
слишком просто для гиганта мысли?
о чем Вам доступно сказали в СовестьДМ © (14.08.09 10:09) [17]
makz (2009-08-16 08:43:00) [5]> turbouser
разумеется это дополненная вторая строчка sql
IBQuery1.SQL.Add('select 2'); -> IBQuery1.SQL.Add('select 2 from rdb$database');
turbouser (2009-08-15 13:08:00) [6]
> makz (15.08.09 09:50) [21]
вообще-то автор хотел сделать insert а не select
makz (2009-08-15 09:50:00) [7]> Кщд
Именно на этот, именно так как автору вопроса хотелось (да через то самое место). :)
ZeroDivide (2009-08-14 14:32:00) [8]
> навскидку, ограничения по or, in
Не понял. Можно пример?
Кщд (2009-08-14 11:28:00) [9]>makz (14.08.09 09:10) [15]
это, возможно, хороший ответ, но - увы - не на этот вопрос)
Кщд (2009-08-14 11:26:00) [10]>ZeroDivide © (14.08.09 08:40) [14]
>Разве?
да
навскидку, ограничения по or, in
>И что же вы предлагаете писать вместо (+)?
зависит от запроса, не так ли?)
СовестьДМ (2009-08-14 10:09:00) [11]
> makz (14.08.09 09:10) [15]
вот до чего наука то уже дошла - гланды через ж... вырезают
turbouser (2009-08-14 10:04:00) [12]
> makz (14.08.09 09:10) [15]
Шутник :)
makz (2009-08-14 09:10:00) [13]на всякий случай, вдруг ответ все же нужен:
IBQuery1.SQL.Add('select 2 from rdb$database');
ZeroDivide (2009-08-14 08:40:00) [14]
> >(Я вот тоже больше оракловские плюсики люблю,
> >а в FB приходится писать left join)
> left join не эквивалент (+)
Разве? И что же вы предлагаете писать вместо (+)?
Anatoly Podgoretsky (2009-08-11 11:59:00) [15]> Romkin (11.08.2009 11:27:12) [12]
Вот именно, что с версии 1.5 - только ты хитришь, а просил про семейство ИБ, так вот с версии 6 и к этому добавь как минимум еще 1.5 для ФБ
Насчет поддержки и уровней я в курсе, и насчет поддержки в данной ветки именно в таком стиле и было заявлено, что и вызвало возражение.
Romkin (2009-08-11 11:27:00) [16]
> Скажи с какой версии появились функции извлечения частей
> даты, для Парадокса давно, но вот по семейству ИБ, хотя
> все годы утверждение о полной поддержки ANSI SQL
С версии 1.5 однако. И да, поддержка стандарта, entry level, почти intermediate, исторически. О полной поддержке никто не заявлял. Вообще никто :)
И могу сказать, что стандарт поддерживался исторически полнее, чем у MSSQL например. По крайней мере, домены уже лет ...цать есть.
Anatoly Podgoretsky (2009-08-10 12:07:00) [17]
> Ничего сложного, если писать на стандартном ANSI SQL.
На каком имени и как проверить, что поведение включено в соответствующую версию сервера, словам обещаниям по поводу 100% совместимости/реализации верить не стоит - это маркетинговые утверждения, особенно сильны в ИБ
Скажи с какой версии появились функции извлечения частей даты, для Парадокса давно, но вот по семейству ИБ, хотя все годы утверждение о полной поддержки ANSI SQL
Кщд (2009-08-10 11:43:00) [18]>ZeroDivide © (07.08.09 09:11) [8]
>Ничего сложного, если писать на стандартном ANSI SQL.
другая архитектура, другое процедурное расширение
одно то, что управление транзакциями осуществляется с клиента, уже существенное отличие
про разницу между версионником и блокировочником и говорить не приходится(впрочем, MS SQL теперь тоже умеет быть версионником)
различия огромны
они нивелируются в том случае, если база простенькая и не содержит хранимого кода
>(Я вот тоже больше оракловские плюсики люблю,
>а в FB приходится писать left join)
left join не эквивалент (+)
MsGuns (2009-08-07 09:18:00) [19]А зачем там Open если запрос на добавление ?
>В MS SQL все прокатывало красиво.
Вранье. Хотя бы потому что там иные компоненты доступа.
ZeroDivide (2009-08-07 09:11:00) [20]
> После MS SQL пытаюсь разобраться с FireBird.
Ничего сложного, если писать на стандартном ANSI SQL.
(Я вот тоже больше оракловские плюсики люблю,
а в FB приходится писать left join)
> + посоветуйте толковую литературу.
Очень толковая книжка по FB:
Хелен Борри - Firebird. Руководство разработчика