Форум: "Прочее";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
ВнизПомогите с 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c