Форум: "Базы";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
ВнизВопрос для специалистов в области SQL для Найти похожие ветки
← →
LevVL (2002-06-24 16:20) [0]Здравствуйте, уважаемые коллеги. Спасибо за интерес к моей проблеме.
Необходимо создать таблицу SQL-запросом, в которой для некоторых полей задаются значения по умолчанию.
Для доступа к данным использую компоненты ADO.
Делаю следующее:
create table TestTable (Code counter, Name string default "Иванов",Age integer default 30)
Так вот, непосредственно в Access-е такой запрос не работает. Если его выполнять программно, используя в TADOConnection Microsoft.Jet.OLEDB - провайдер, то он работает, но этот провайдер глючит, зараза, в других местах! И я использую более-менее родной для Access-а провайдер for ODBC drivers (MSDASQL), но при выполнении вышеозначенного запроса этот подлец ругается точно также, как в Accesse:
"Ошибка синтаксиса в инструкции CREATE TABLE" !!!
Знает кто-нибудь, что с этим делать, а? С меня бутылка пива - почтой...
← →
sniknik (2002-06-24 17:15) [1]В каких местах TADOConnection Microsoft.Jet.OLEDB глючит? А то я с ним довольно давно работаю и у меня стойкое заблуждение о том что он нормально пашет во всех местах.
P.S.
Твой "родной" ODBC не понимает слов типа default.
← →
LevVL (2002-06-24 17:50) [2]Ну ладно, ну хорошо, если уж он такой замечательный, то вот вопрос на засыпку: допустим, есть 2 таблицы - Test1 и Test2.
Вот первая:
create table Test1 (code1 counter not null primary key, name1 string)
А вторую мне нужно создать связанной с первой по ключу, таким образом, чтобы записи во второй каскадно удалялись и обновлялись.
Следуя строгим стандартам языка SQL, делаю следующее:
create table Test2 (code2 integer not null,name2 string,foreign key (code2) references Test1(code1), update of Test1 cascades)
Но этот дьявол на такую мою хрень выдаёт следующее:
"Ошибка синтаксиса при определении поля" !!!
Что мне с этим делать, а? Я уже на всё согласный - пусть будет хотя бы и Jet-провайдер!
← →
LevVL (2002-06-24 18:05) [3]Приношу всем свои извинения - ошибка синтаксиса при создании второй таблицы, ибо нужно с этим Jet-провайдером писать так:
create table test2 (code2 integer not null ,name2 string,foreign key (code2) references Test1(code1) on update cascade on delete cascade)
← →
sniknik (2002-06-24 18:47) [4]Ну вот все же работает и именно через Jet. А через ODBC такое не воспринимается.
?? Говорил что глючит и сам же даеш рабочие под Jet-том примеры.
Роднее чем Jet для Access-а не придумаеш если уж сам Access через него работает.
в первом случае через ODBC нужно убрать после запятой update и дальше а второй полностью рабочий.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c