Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 TO_DATE  [new]
frech
Member

Откуда:
Сообщений: 29
код взять из книжки, о не работает
INSERT INTO TEACHER (TchPK, DepFK, Name, IDCode, Post, Tel, Salary, Rise, HireDate, Chief)
VALUES (1, 2, 'Вибровский','2345678901', 'ассистент', NULL, 570, 170, TO_DATE('01.09.2003', 'DD.MM.YYYY'), 2);

пищет такую ощибку: Msg 195, Level 15, State 10, Line 123
'TO_DATE' is not a recognized built-in function name.

работаю на MS SQL SERVER 2005. В чем проблема, как заменить эту функцию??
30 янв 09, 22:50    [6761529]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Это не синтаксис MS SQL, замените
TO_DATE('01.09.2003', 'DD.MM.YYYY')
на
CONVERT(DATETIME, '01.09.2003', 104)
30 янв 09, 22:56    [6761547]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
frech
Member

Откуда:
Сообщений: 29
спасибо, помогло. А щас это:
Fund      NUMBER(7, 2) CONSTRAINT fac_chk_fnd CHECK (Fund > 0));
и такая ощибка
Msg 2715, Level 16, State 7, Line 8
Column, parameter, or variable #5: Cannot find data type NUMBER.
30 янв 09, 23:13    [6761617]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
frech
спасибо, помогло. А щас это:
Fund      NUMBER(7, 2) CONSTRAINT fac_chk_fnd CHECK (Fund > 0));
и такая ощибка
Msg 2715, Level 16, State 7, Line 8
Column, parameter, or variable #5: Cannot find data type NUMBER.


а вы так и собираетесь синтаксис придумывать?! откройте ХЕЛП по MS SQL
30 янв 09, 23:14    [6761624]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
frech
Cannot find data type NUMBER.


либо NUMERIC либо DECIMAL, они идентичны
30 янв 09, 23:16    [6761633]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
frech
Member

Откуда:
Сообщений: 29
я в этом деле еще новый. Хелп смотрю
30 янв 09, 23:24    [6761670]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
frech
Member

Откуда:
Сообщений: 29
опять проблема
CREATE TABLE LECTURE
       (TchFK    INTEGER     NOT NULL CONSTRAINT lec_frk_tch REFERENCES TEACHER(TchPK) ON DELETE SET NULL,
        GrpFK    INTEGER     NOT NULL CONSTRAINT lec_frk_grp REFERENCES SGROUP(GrpPK) ON DELETE CASCADE,
        SbjFK    INTEGER     NOT NULL CONSTRAINT lec_frk_sbj REFERENCES SUBJECT(SbjPK) ON DELETE SET NULL,
        RomFK    INTEGER     NOT NULL CONSTRAINT lec_frk_rom REFERENCES ROOM(RomPK) ON DELETE SET NULL,
        Type     VARCHAR(15) NOT NULL CONSTRAINT lec_chk_typ CHECK (Type IN ('лекц', 'лаб', 'сем', 'практ')),
        Week     DECIMAL(1)   NOT NULL CONSTRAINT lec_chk_wek CHECK (Week = 1 OR Week = 2),
        Day      CHAR(3)     NOT NULL CONSTRAINT lec_chk_day CHECK (Day IN ('пнд', 'втр', 'срд', 'чтв', 'птн', 'суб', 'вос')),
        Lesson   DECIMAL(1)   CONSTRAINT lec_chk_les CHECK (Lesson BETWEEN 1 AND 8),
        CONSTRAINT lec_unq1 UNIQUE (TchFK, Week, Day, Lesson),
        CONSTRAINT lec_unq2 UNIQUE (GrpFK, Week, Day, Lesson),
        CONSTRAINT lec_unq3 UNIQUE (RomFK, Week, Day, Lesson));

Ощибка:Msg 1761, Level 16, State 0, Line 15
Cannot create the Foreign key 'lec_frk_tch' with SET NULL referential action, since one or more referencing columns are not nullable.
Msg 1750, Level 16, State 0, Line 15
Could not create constraint. See previous errors.
30 янв 09, 23:32    [6761694]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
Guest000
Member

Откуда: Moscow
Сообщений: 341
может вашу работу стоит поручить программисту?
31 янв 09, 00:34    [6761885]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8877
автор
Я новичек в этом деле, раньше занимался С++. А щас хочу за короткие сроки выучить SQL. Вот установил SQL server 2005, и скачал книжки.


Интересно, куда топикстартера послали с форума Сишников? ...

PS frech, не обижайся, но если ты НЕ МОЖЕШЬ понять сообщения об ошибке, НЕ ХОЧЕШЬ залезть в раздел описания переменных (а тем более - описания типов данных), то какой ты, в звезду, "сишник"?! Наверное, в Австралии объявлена национальная программа по пересчёту коал?, но ты не знаешь английсского и программировать не умеешь... А я бы тоже рванул отседова...- Нах мне такое правительство..
31 янв 09, 03:47    [6762153]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: TO_DATE  [new]
Василий И.
Member

Откуда:
Сообщений: 9
Knyazev Alexey
Это не синтаксис MS SQL, замените
TO_DATE('01.09.2003', 'DD.MM.YYYY')
на
CONVERT(DATETIME, '01.09.2003', 104)


самый лучший ответ в теме (и второй хинт, про нумерик - спасибо Князев Алексей ибо подмогло)

frech взял книжку (её многие хвалят и я присоединюсь) "Язык запросов SQL - Ф.Андон, В.Резниченко" и пытается создать УЧЕБНУЮ(!) базу данных.. Без неё, этой самой учебной БД - тяжко весьма (я например долгое время её просто читал и проговаривал вслух примеры).
Книжка олдовая, под sql server 2005 не заточена. Вы помогали бы, други, а не сарказмом сарказмировали б вроде "ну ты и нубяра" и "лети в Австралию, паси кенгуру". Человек пытается разобраться - помогите ему.. ну нам, то бишь.. а в награду за это - не бочки варенья и печенья, а СПАСИБЫ огромные и ЧСВ раздутые - чем плохо?
25 мар 13, 18:57    [14093954]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
Василий И.
Member

Откуда:
Сообщений: 9
Ощибка:Msg 1761, Level 16, State 0, Line 15
Cannot create the Foreign key 'lec_frk_tch' with SET NULL referential action, since one or more referencing columns are not nullable.
Msg 1750, Level 16, State 0, Line 15
Could not create constraint. See previous errors.


вопрос остаётся открытым.. вразумитя пожалуста
25 мар 13, 19:29    [14094049]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
не используйте SET NULL referential action
25 мар 13, 19:31    [14094059]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Василий И.
вопрос остаётся открытым.. вразумитя пожалуста

Либо уберите ограничение NOT NULL из определения столбца; либо уберите опцию SET NULL из определения внешнего ключа. Зависит от того, что хотел показать автор учебника. А может, ничего не хотел показать, и это баг.

Если что, в Oracle (а изначальный код предназначен для Оракла) указанная таблица создаётся, но при попытке удаления записей из TEACHER, SUBJECT или ROOM будет выдана ошибка вида:
ORA-01407: cannot update ("TEST"."LECTURE"."TchFK") to NULL
25 мар 13, 19:44    [14094092]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
+
Нда... завтра еще по Кайту начнут MSSQL изучать
25 мар 13, 19:46    [14094099]     Ответить | Цитировать Сообщить модератору
 Re: TO_DATE  [new]
Василий И.
Member

Откуда:
Сообщений: 9
Спасибо тебе большое, Гость333 и поклон до земли.. ВОТ ТЕПЕРЬ пойду учить SQL
29 мар 13, 17:24    [14114140]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить