Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL ;в IBase ;нужна помощь.. [D6, IB6.x]


Senka ©   (2002-11-27 09:03:00) 

При создании таблицы создаю две переменные и потом таблицу в IBase6.5 но вылазит ошибка. Помогите плиз мастера разобраться где не так.


CREATE DOMAIN NAMETYPE
AS VARCHAR(30)
DEFAULT "ИМЯ"
NOT NULL;

CREATE DOMAIN PRIMEIND
AS INTEGER
NOT NULL
CHECK (VALUE > 0);

CREATE TABLE ABONENTS
(
N_ABONENTS PRIMEIND PRIMARY KEY,
ABONENT NAMETYPE,
PHONE CHAR (10),
N_STREET INTEGER,
HOME CHAR (10)
);


BODOM   (2002-11-29 12:39:00) [1]

Ты повторно пытаешься создать домен
попробуй начать с CREATE TABLE,
но сначала откати все транзакции


Andrew4   (2002-11-28 01:27:00) [2]

Вообще-то, не грех при определении типов char() явно указывать кодировку (например - character set win1251),
а также при создании самой БД указать кодировку по умолчанию.
Не любит IB неопределенностей


Alexandr   (2002-11-27 13:55:00) [3]

не надо читать всякие левые учебники.


ЮЮ   (2002-11-27 11:19:00) [4]

> attempt to store duplicate value
Значит в первый раз создалось. И незачем выполнять кряду три предложения.


exit   (2002-11-27 11:17:00) [5]

attempt to store duplicate value (visible to active transactions) in unique index "RDB$INDEX_2"
Statement: CREATE DOMAIN NAMETYPE

(IMHO) - Здесь вежливо сообщается о том, что имеется попытка повторного создания домена с именем "NAMETYPE"


Senka   (2002-11-27 11:04:00) [6]

А в одном учебнике нет вобще кавычек а в другом они двойные .
Вот и пойми этих авторов...


Senka   (2002-11-27 11:01:00) [7]

А какая разница все равно выпадает ошибка:


CREATE DOMAIN NAMETYPE
AS VARCHAR(30)
DEFAULT "Names"
NOT NULL;

CREATE DOMAIN PRIMEIND
AS INTEGER
NOT NULL
CHECK (VALUE > 0);

CREATE TABLE ABONENTS
(
N_ABONENTS PRIMEIND PRIMARY KEY,
ABONENT NAMETYPE,
PHONE CHAR (10),
N_STREET INTEGER,
HOME CHAR (10)
);

Error:
Unsuccessful metadata update
STORE RDB$FIELDS failed
attempt to store duplicate value (visible to active transactions) in unique index "RDB$INDEX_2"
Statement: CREATE DOMAIN NAMETYPE
AS VARCHAR(30)
DEFAULT "Names"
NOT NULL


Alexandr   (2002-11-27 10:55:00) [8]

ну не факт, что у него 3 диалект.
хотя да, одинарный не повредят.

Короче так и будем тут гадать.


Alexandr   (2002-11-27 10:52:00) [9]

да, очень может быть.
Создает домены, при этом называя их переменными
Задает для домена default да еще и по-русски
да и check применять где ни попадя тоже не рулез.

так что учиться ему еще и учиться...


Romkin   (2002-11-27 10:52:00) [10]

DEFAULT "ИМЯ" - Вместо двойных кавычек надо использовать одинарные


Romkin   (2002-11-27 10:47:00) [11]

2Alexandr ИМХО, "Cannot transliterate..." ^-)))


Alexandr   (2002-11-27 09:06:00) [12]

а шо за ошибка?


Наверх

Титульная страница Поиск, карта сайта Написать письмо