Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.02;
Скачать: CL | DM;

Вниз

Помогите с SQL! Заранее спасибо!   Найти похожие ветки 

 
SQL555   (2007-10-28 20:22) [0]

Код следующий:

CREATE EXCEPTION ONLY_ITP31 "Допускается вставка значений только для группы ITP-31"
CREATE PROCEDURE INSERT_RE_STUDENTI(FGROUP VARCHAR,FKODST INTEGER, FFIOSTUD VARCHAR, FDR DATE, FVOZRAST INTEGER, FADRESS VARCHAR, FTEL INTEGER) AS
BEGIN
IF(:FGROUP<>"ITP-31") THEN
  EXCEPTION ONLY_ITP31;
ELSE
  INSERT INTO RE_STUDENTI
  VALUES(:FGROUP,:FKODST,:FFIOSTUD,:FDR,:FVOZRAST,:FADRESS,:FTEL);
END


Ошибка следующая:

Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 28
"Допускается вставка значений только для группы ITP-31"
Statement: CREATE EXCEPTION ONLY_ITP31 "Допускается вставка значений только для группы ITP-31"
CREATE PROCEDURE INSERT_RE_STUDENTI(FGROUP VARCHAR,FKODST INTEGER, FFIOSTUD VARCHAR, FDR DATE, FVOZRAST INTEGER, FADRESS VARCHAR, FTEL INTEGER) AS
BEGIN
IF(:FGROUP<>"ITP-31") THEN
 EXCEPTION ONLY_ITP31


Что у меня неправильно?...

+ Где набирать данный код? В Interactive SQL?


Код таблицы, к которой применяется исключение и процедура:
CREATE TABLE "RE_STUDENTI"
(
 "FGROUP" VARCHAR(10),
 "FKODST" INTEGER,
 "FFIOSTUD" VARCHAR(50),
 "FDR" DATE,
 "FVOZRAST" INTEGER,
 "FADRESS" VARCHAR(100) DEFAULT "Кременчуг",
 "FTEL" INTEGER
);


 
Sergey Masloff   (2007-10-28 20:27) [1]

SQL тут не при чем.
Почему кавычки двойные


 
SQL555   (2007-10-28 21:57) [2]

Трансформировал код на следующий:
CREATE PROCEDURE INSERT_RE_STUDENTI(FGROUP VARCHAR(10), FKODST INTEGER, FFIOSTUD VARCHAR(50), FDR DATE, FVOZRAST  INTEGER, FADRESS VARCHAR(100), FTEL INTEGER) AS
BEGIN
IF(:FGROUP<>"ITP-31") THEN EXCEPTION ONLY_ITP31;
ELSE
INSERT INTO RE_STUDENTI(FGROUP, FKODST, FFIOSTUD, FDR, FVOZRAST, FADRESS, FTEL)
VALUES (:FGROUP, :FKODST, :FFIOSTUD, :FDR, :FVOZRAST, :FADRESS, :FTEL);
END;


В результате выскакивает ошибка:
Dynamic SQL Error
SQL error code = -104
Unexpected end of command
Statement: CREATE PROCEDURE INSERT_RE_STUDENTI(FGROUP  VARCHAR(10),
                 FKODST  INTEGER,
                 FFIOSTUD VARCHAR(50),
                 FDR   DATE,
                 FVOZRAST INTEGER,
                 FADRESS VARCHAR(100),
                 FTEL   INTEGER) AS
BEGIN
IF(:FGROUP<>"ITP-31") THEN  EXCEPTION ONLY_ITP31


Что сейчас не так?............................


 
Petr V. Abramov ©   (2007-10-28 22:14) [3]

> [0]
по идее между операторами разделитель какой-то должен быть (честно не помню, см мануал)

> [2]
THEN EXCEPTION ONLY_ITP31;
а ты уверен, что ; д.б. в этой строке?


 
SQL555   (2007-10-29 00:07) [4]


> Petr V. Abramov ©   (28.10.07 22:14) [3]
> > [0]по идее между операторами разделитель какой-то должен
> быть (честно не помню, см мануал)> [2]THEN EXCEPTION ONLY_ITP31;
> а ты уверен, что ; д.б. в этой строке?

Если убрать ; то будет ошибка:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 10, char 0
ELSE

Statement: CREATE PROCEDURE INSERT_RE_STUDENTI(FGROUP   VARCHAR(10),
                    FKODST   INTEGER,
                    FFIOSTUD  VARCHAR(50),
                    FDR     DATE,
                    FVOZRAST  INTEGER,
                    FADRESS  VARCHAR(100),
                    FTEL     INTEGER)  AS
BEGIN
IF(:FGROUP<>"ITP-31") THEN  EXCEPTION ONLY_ITP31
ELSE
INSERT INTO RE_STUDENTI(FGROUP,
          FKODST,
            FFIOSTUD,
            FDR,
            FVOZRAST,
            FADRESS,
            FTEL)
VALUES  (:FGROUP, :FKODST, :FFIOSTUD, :FDR, :FVOZRAST, :FADRESS, :FTEL)


Т.е. точка с запятой нужна



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

Текущий архив: 2007.12.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
2-1194456145
NaRuTo
2007-11-07 20:22
2007.12.02
Как сделать так чтобы числа не повторялись.


2-1192718804
Barracudic
2007-10-18 18:46
2007.12.02
Как програмно запустить приложение?


2-1194459961
OP
2007-11-07 21:26
2007.12.02
Как присвоить событие, только что созданному объекту?


2-1194508018
Nucer
2007-11-08 10:46
2007.12.02
TTimer


4-1179507014
Bacardi
2007-05-18 20:50
2007.12.02
Очередь печати