![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Где глюк? [D6, IB6.x]
Ru © (2003-08-11 11:02:00)
Поставил себе InterBase 6.5 пишу простенький скриптик:
SET SQL DIALECT 3;
CREATE DATABASE "MyBase.gdb"
USER "SYSDBA" PASSWORD "masterkey"
PAGE_SIZE 16384
DEFAULT CHARACTER SET WIN1251;
CREATE TABLE "FIRST"( /* Допустим это таблица */
id INTEGER NOT NULL, /* Это поле первичный ключ */
Autor Char(50), /* Это текстовое поле */
Book Char(100), /* Еще одно */
CONSTRAINT "PKF" PRIMARY KEY (id) /* вводим первичный ключ */
);
CREATE GENERATOR "G1"; /* Создадим генератор */
SET GENERATOR G1 TO 1; /* и установим его в 1 */
CREATE TRIGGER "T1" FOR "FIRST" /* Создадим триггер */
ACTIVE BEFORE INSERT POSITION 0 /* на вставку */
AS
BEGIN
IF (NEW.id IS NULL) THEN
NEW.id = GEN_ID("G1",1); /* Будем увеличивать генератор */
END
При запуске в IBConsole получаю ошибку:
Dynamic SQL Error
SQL error code = -104
Unexpected end of command
Statement: CREATE TABLE "FIRST"( /* Допустим это таблица */
Если убрать коментарии, то вылазит следующая ошибка:
Dynamic SQL Error
SQL error code = -104
Unexpected end of command
Statement: CREATE TRIGGER "T1" FOR "FIRST"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.id IS NULL) THEN
NEW.id = GEN_ID("G1",1)
Зато isql.exe и InterBase7 кушают без вопросов.
Ru (2003-08-11 11:26:00) [1]
>stud © (11.08.03 11:15)
Если писать:
SET TERM !! ;
CREATE TRIGGER "T1" FOR "FIRST"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.id IS NULL) THEN
NEW.id = GEN_ID("G1",1);
END
SET TERM ; !!
ругаестя на SET TERM ; !!
stud (2003-08-11 11:15:00) [2]
скорее всего set term нужно использовать