Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> разделение операторов 
V
    Опции темы
TaNK
Дата 16.2.2011, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 669
Регистрация: 29.10.2006
Где: Краснодар

Репутация: нет
Всего: 1



Хочу проконсультироваться - вот такой код в IBExpert отрабатывает в редакторе скриптов
Код

create or alter procedure SP_AutoMobiles (priz smallint, auto_index int)
returns (
         auto_name    varchar(50),
         year_release int,
         powers       numeric(5,2),
         auto_id      int
        )
as
BEGIN
            FOR
                Select auto_name, year_release, powers, auto_id
                From AutoMobiles
                where auto_id between (case when :auto_index = 0 then -1 else :auto_index end) and (case when :auto_index = 0 then +99999 else :auto_index end)
                order by auto_name
                into :auto_name, :year_release, :powers, :auto_id
            DO
                Suspend;
      END
END;

create or alter procedure SP_AutoMobiles_STRLEN (priz smallint, auto_index int)
returns (
         auto_name    int,
         year_release int,
         powers       int,
         auto_id      int
        )
as
BEGIN
            FOR
                Select coalesce(Max(strlen(auto_name)),0) as max_auto_name, coalesce(Max(strlen(year_release)),0) as max_year_release, coalesce(Max(strlen(powers)),0) as max_powers, coalesce(Max(strlen(auto_id)),0) as max_auto_id
                From AutoMobiles
                where auto_id between (case when :auto_index = 0 then -1 else :auto_index end) and (case when :auto_index = 0 then +99999 else :auto_index end)
                into :auto_name, :year_release, :powers, :auto_id
            DO
                Suspend;
END;


а вот если это код подгрузить Query Builder'a и там запустить он будет конечно ругаться, вот думаю как совместить в одном файле...чтобы query понимал?  есть какой нить резделитель операторов что ли!

Это сообщение отредактировал(а) TaNK - 16.2.2011, 17:16


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
Gluttton
Дата 16.2.2011, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 7
Всего: 54



Цитата(TaNK @  16.2.2011,  17:13 Найти цитируемый пост)
Query Builder'a

Что за зверь такой?

Я в таком же духе выполняю скрипты через isql  - проблем не было.

Цитата(TaNK @  16.2.2011,  17:13 Найти цитируемый пост)
есть какой нить резделитель операторов что ли!

Да вроде бы ничего особого и не нужно, только точку с запятой.

Или я вопрос не понял?


--------------------
Слава Україні!
PM MAIL   Вверх
TaNK
Дата 16.2.2011, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 669
Регистрация: 29.10.2006
Где: Краснодар

Репутация: нет
Всего: 1



я написал программу (Builder Xe + FireBird Embedded 2.5), отдал пользователю, у него ни каких инструментов не стоит и не должно, а я хочу обновить например хранимки в его бд, в програме есть меню по которому пользователь выбираает файл *.sql и он загружается в компонент Query и выполняется execute(), так вот если в этом файле 1 хранимка нормально отрабатывает, если 2 хранимки как в примере выше валится ошибка!

user posted image


Это сообщение отредактировал(а) TaNK - 16.2.2011, 17:56


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
Gluttton
Дата 16.2.2011, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 7
Всего: 54



TaNK, теперь понял smile !

По сути вопроса ответа не знаю.

Разве что как вариант парсить приложением запросы из файла *.sql и отдавать их по одному в Query?


--------------------
Слава Україні!
PM MAIL   Вверх
Deniz
Дата 17.2.2011, 06:18 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



TaNK, что за компонент Query?
Для разделения посмотри SET TERM
Так же можно из IBExpert выгрузить метаданные по нескольким таблицам, процедурам, и посмотреть какой скрипт получается.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
TaNK
Дата 17.2.2011, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 669
Регистрация: 29.10.2006
Где: Краснодар

Репутация: нет
Всего: 1



Deniz,  компонент UniDac  в нем есть обычный по себе Query, сейчас посмотрим методанные!


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
TaNK
Дата 17.2.2011, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 669
Регистрация: 29.10.2006
Где: Краснодар

Репутация: нет
Всего: 1



set term не помогает, придется или парсер написать или раскидывать по разным файлам скрипты.


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
Deniz
Дата 17.2.2011, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Цитата(TaNK @  17.2.2011,  10:49 Найти цитируемый пост)
Deniz,  компонент UniDac  в нем есть обычный по себе Query, сейчас посмотрим методанные!
с этими компонентами не работал, возможно у них есть какие-то доп свойства, которые позволяют запустить текст как скрипт создания БД.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Frees
Дата 17.2.2011, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



Цитата(TaNK @  17.2.2011,  11:49 Найти цитируемый пост)
  компонент UniDac  в нем есть обычный по себе Query, сейчас посмотрим метода

а компонент Script есть? TUniScript вроде

сам скрипт генерируй средствам IB Expert

берешь старую БД и новый ее вариант и делаешь сравнение в результате IB Expert даст тебе скрипт который надо выполнить на старой БД что бы она стала как новая))


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
TaNK
Дата 21.2.2011, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 669
Регистрация: 29.10.2006
Где: Краснодар

Репутация: нет
Всего: 1



Frees,  вот насчет этого компонента и не подумал, он есть, но как работает не знаю...написал свой небольшой скриптер, пока все работает, будет время посмотрю на TUniScript

Это сообщение отредактировал(а) TaNK - 21.2.2011, 08:56


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
TaNK
Дата 22.2.2011, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 669
Регистрация: 29.10.2006
Где: Краснодар

Репутация: нет
Всего: 1



Компонент TUniScript отлично отрабатывает скрипты с любым разделителем, Frees,  Спасибо +1


--------------------

Oracle 11.2.0.3.0
FireBird 1.0-2.5


PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0645 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.