powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Вопросы по IT / FireBird 2.1 как в сохраненной процедуре сделать from :t
11 сообщений из 11, страница 1 из 1
FireBird 2.1 как в сохраненной процедуре сделать from :t
    #1704288
vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Как в сохраненной процедуре сделать в тексте процедуры, в конструкции Select .... From TableName
чтобы вместо TableName была переменная :TableName ?

С уважением, Вадим.
...
Рейтинг: 0 / 0
FireBird 2.1 как в сохраненной процедуре сделать from :t
    #1704680
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
vad72

Никак. Но можно сделать строку и запустить её в EXECUTE STATEMENT.
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
EXECUTE BLOCK
RETURNS(
  ID INTEGER,
  NAME VARCHAR(50)
)
AS
DECLARE VARIABLE TABLE_NAME VARCHAR(31);
DECLARE VARIABLE S VARCHAR(200);
BEGIN
  TABLE_NAME = 'FIRMS';
  S = 'SELECT FIRM_ID, NAME FROM ' || TABLE_NAME;
  FOR EXECUTE STATEMENT :S INTO :ID, :NAME
  DO BEGIN
    SUSPEND;
  END
END
...
Рейтинг: 1 / 0
Нравится: vad72
FireBird 2.1 как в сохраненной процедуре сделать from :t
    #1704702
vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock

спасибо! пример работает! Буду думать как его прикрутить.
...
Рейтинг: 0 / 0
FireBird 2.1 как в сохраненной процедуре сделать from :t
    #1704711
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
vad72  19.11.2019, 12:57
YuRock

спасибо! пример работает! Буду думать как его прикрутить.
Это очень плохая практика. Такие вещи допустимо использовать только в единичных, сервисных случаях. Но никак не при разработке архитектуры бизнес-процессов.
Необходимо использовать только откомпилированные (препарированные) запросы.
...
Рейтинг: 0 / 0
FireBird 2.1 как в сохраненной процедуре сделать from :t
    #1705656
vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock

я сделал вертикальную денормализацию, хотел сделать красивый текст процедуры, но пришлось тупо в лоб портянку делать огромную
...
Изменено: 19.11.2019, 18:15 - vad72
Рейтинг: 0 / 0
FireBird 2.1 как в сохраненной процедуре сделать from :t
    #1708101
Фотография sparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vad72  19.11.2019, 09:43
Добрый день!
Как в сохраненной процедуре сделать в тексте процедуры, в конструкции Select .... From TableName
чтобы вместо TableName была переменная :TableName ?

С уважением, Вадим.
Вопрос в другом что то с нормализацией не то. Зачем вам много одинаковых таблиц? Если это справочники, типа spr1 (id int , name varchar (256) ) можно 1 раз заполнить и не париться, более того итерфейс городить, здоровью навредить.
...
Рейтинг: 0 / 0
FireBird 2.1 как в сохраненной процедуре сделать from :t
    #1708124
vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sparrow  20.11.2019, 15:58
vad72  19.11.2019, 09:43
Добрый день!
Как в сохраненной процедуре сделать в тексте процедуры, в конструкции Select .... From TableName
чтобы вместо TableName была переменная :TableName ?

С уважением, Вадим.
Вопрос в другом что то с нормализацией не то. Зачем вам много одинаковых таблиц? Если это справочники, типа spr1 (id int , name varchar (256) ) можно 1 раз заполнить и не париться, более того итерфейс городить, здоровью навредить.
нет, это таблицы, где количество записей измеряются миллионами, а операции по вставке от 5 млн. записей за раз.
...
Рейтинг: 0 / 0
FireBird 2.1 как в сохраненной процедуре сделать from :t
    #1708129
vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если что, можно будет без проблем разнести таблицы на физически разные сервера, чтобы параллельно "передавать" такие объемы
...
Рейтинг: 0 / 0
FireBird 2.1 как в сохраненной процедуре сделать from :t
    #1708164
Фотография sparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем синтаксис

Execute @переменная_имяпроцедуры параметры , ТД и тп

Не нравится? Массово сгенерите по процедуре на каждую из таблиц.

В МС sql нет абстракций таблиц и ли баз, или серверов, все конкретно и в одном месте
...
Рейтинг: 0 / 0
FireBird 2.1 как в сохраненной процедуре сделать from :t
    #1708166
Фотография sparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vad72  20.11.2019, 16:15
Если что, можно будет без проблем разнести таблицы на физически разные сервера, чтобы параллельно "передавать" такие объемы
Вам наверно надо апп сервер городить
...
Рейтинг: 0 / 0
FireBird 2.1 как в сохраненной процедуре сделать from :t
    #1708172
vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я хотел написать одну процедуру, с коротким текстом в теле, чтобы было красиво, и чтобы её одну использовали разные пользователи/роли , в тексте в зависимости от того, кто её запустил, возвращается результат на основании данных из необходимых для конкретного пользователя таблиц. Я так и сделал, только тело текста процедуры не красивое, там сплошные if .... then.
Работает, ну и ладно. [:smile]
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Вопросы по IT / FireBird 2.1 как в сохраненной процедуре сделать from :t
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]