|
Вопрос # 4 989/ вопрос открыт / |
|
Здравствуйте, эксперты!
Нужно создать таблицу с триггером.
Вроде бы последовательно все создается, но только триггер (последний запрос rTriggers)
Говорит, неизвестная таблица
Что делаю не так??
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
Приложение: Переключить в обычный режим- <code language=delphi>
- var con: TDataBaseConnection;
- var TableName: string;
- var Request : string;
- var rGenerator: string;
- var rTable: string;
- var rPrimaryKey: string;
- var rTriggers: string;
- begin
- con := TDataBaseConnection.getConnect();
- TableName := Self.TablesNameComboBox.Text;
-
- rGenerator := 'CREATE GENERATOR GEN_' + TableName + '_ID;';
- con.ExecuteEditSQL(rGenerator);
-
- rTable :=
- 'CREATE TABLE ' + TableName + ' ('
- + 'ID INTEGER NOT NULL,'
- + 'NAME VARCHAR(100) NOT NULL,'
- + 'CAPTION VARCHAR(150) NOT NULL,'
- + 'SAVE_NAME VARCHAR(100),'
- + 'ID_ITEM_TYPE INTEGER,'
- + 'COLOR VARCHAR(10) DEFAULT ''clNone'');';
- con.ExecuteEditSQL(rTable);
-
- rPrimaryKey := 'ALTER TABLE ' + TableName + ' ADD CONSTRAINT PK_' + TableName + ' PRIMARY KEY
(ID);';
- con.ExecuteEditSQL(rPrimaryKey);
- con.DataBase.Commit;
-
- rTriggers := 'CREATE TRIGGER ' + TableName + '_BI FOR ' + TableName
- + 'ACTIVE BEFORE INSERT POSITION 0 '
- + 'AS '
- + 'BEGIN '
- + ' IF (NEW.ID IS NULL) THEN '
- + ' NEW.ID = GEN_ID(GEN_' + TableName + ',1); '
- + 'END ';
- con.ExecuteEditSQL(rTriggers);
- </code>
 |
Вопрос задал: Aндрей (статус: 1-ый класс)
Вопрос отправлен: 1 февраля 2011, 10:37
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 3; последнее сообщение — 1 февраля 2011, 17:02; участников в обсуждении: 1.
|
Aндрей (статус: 1-ый класс), 1 февраля 2011, 11:34 [#1]:
Там пробела в запросе не хватало!
Извините за беспокойства
|
|
Aндрей (статус: 1-ый класс), 1 февраля 2011, 11:44 [#2]:
Только вот сейчас не могу понять Пишет
"Project InitReportCorrect.exe raised exception class EFIBInterBaseError with message 'Invalid token.
Invalid request BLR at offset 32.
Generator GEN_T_3_TRI6_INIT is not defined."
Почему он не определен, если он есть
|
|
Aндрей (статус: 1-ый класс), 1 февраля 2011, 17:02 [#3]:
Все разобрался,
Спасибо за внимание
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|