Вниз
Скачать: CL | DM;

Где глюк?   Найти похожие ветки 

← →
Ru ©   (2003-08-11 11:02) [0]

Поставил себе 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 кушают без вопросов.


← →
stud ©   (2003-08-11 11:15) [1]

скорее всего set term нужно использовать


← →
Ru ©   (2003-08-11 11:26) [2]

>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 ; !!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
8-1516
Bill
2003-04-10 14:56
2003.09.01
Потеря Canvas


1-1426
Terrible
2003-08-18 14:08
2003.09.01
Теряются тесктовые ресурсы в проге на Delphi7


14-1629
Tornado
2003-08-13 08:26
2003.09.01
форум умер


1-1465
Kallega
2003-08-19 15:33
2003.09.01
Проблема определения типов


1-1397
SergP
2003-08-15 21:12
2003.09.01
Как можно запретить вызов even ta пока не отработал другой event




   Наверх