Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.45 MB
Время: 0.05 c
15-1193476157
marinator
2007-10-27 13:09
2007.12.02
MSXML


15-1193684400
Evanescence
2007-10-29 22:00
2007.12.02
Redhat 9 на VirtualPC


15-1194086061
Prohodil Mimo
2007-11-03 13:34
2007.12.02
Существуют ли способы записи на CD после финализации?


2-1194340901
wander
2007-11-06 12:21
2007.12.02
скины


2-1194371274
Nucer
2007-11-06 20:47
2007.12.02
Сервер TCP, потоки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский