powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / как в InterBase делается макроподстановка?
13 сообщений из 13, страница 1 из 1
как в InterBase делается макроподстановка?
    #32344318
ich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ich
Гость
То бишь нужно запрос, который содержится в текстовой строке. Можно ли это сделать в IB?
...
Рейтинг: 0 / 0
как в InterBase делается макроподстановка?
    #32344358
Pavel_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
она не делается !!!
Нет в природе
...
Рейтинг: 0 / 0
как в InterBase делается макроподстановка?
    #32344363
ich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ich
Гость
А как же бать? как то же решается вопрос динамического формирования запросов?
...
Рейтинг: 0 / 0
как в InterBase делается макроподстановка?
    #32344372
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обычно формируется на клиенте и выполняется... в чем проблема-то?
а для любителей есть execute statement.... (FB 1.5)
...
Рейтинг: 0 / 0
как в InterBase делается макроподстановка?
    #32345902
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстате в IB7 так же есть такая фича (execute statement)
...
Рейтинг: 0 / 0
как в InterBase делается макроподстановка?
    #32345966
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 StarWind: не подкинешь ссылку про Interbase 7 и execute statement?
чего-то поискал я в инете и ничего не нашел на эту тему...
оно точно есть в нем?
...
Рейтинг: 0 / 0
как в InterBase делается макроподстановка?
    #32346069
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
команда называется execute immediate , правда я ее не юзал еще
у меня купленный IB и соответственно доки к нему. Если надо я могу просто выслать доки
...
Рейтинг: 0 / 0
как в InterBase делается макроподстановка?
    #32346185
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 StarWind: это не то... это для gpre
...
Рейтинг: 0 / 0
как в InterBase делается макроподстановка?
    #32346200
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
SQL Language Extension: EXECUTE STATEMENT

   Implements capability to take a string which is a valid dynamic SQL
   statement and execute it as if it had been submitted to DSQL.  
   Available in triggers and stored procedures. 

Author:
   Alex Peshkoff <pes@insi.yaroslavl.ru>;

Syntax may have three forms.

Syntax  1 
========

EXECUTE STATEMENT <string>;

Description

Executes <string> as SQL operation. It should not return any data rows.
Following types of SQL operators may be executed:

   * Insert, Delete and Update.
   * Execute Procedure.
   * Any DDL (except Create/Drop Database).

Sample:

CREATE PROCEDURE DynamicSampleOne (Pname VARCHAR( 100 ))
AS
DECLARE VARIABLE Sql VARCHAR( 1024 );
DECLARE VARIABLE Par INT;

BEGIN
SELECT MIN(SomeField) FROM SomeTable INTO :Par;
Sql = 'EXECUTE PROCEDURE ' || Pname || '(';
Sql = Sql || CAST(Par AS VARCHAR( 20 )) || ')';
EXECUTE STATEMENT Sql;
END


Syntax  2 
=========

EXECUTE STATEMENT <string> INTO :var1, ., :varn;

Description

Executes <string> as SQL operation, returning single data row. Only
singleton SELECT operators may be executed with this form of EXECUTE
STATEMENT.

Sample:

CREATE PROCEDURE DynamicSampleTwo (TableName VARCHAR( 100 ))
AS
DECLARE VARIABLE Par INT;

BEGIN
EXECUTE STATEMENT 'SELECT MAX(CheckField) FROM ' || TableName INTO :Par;
IF (Par >  100 ) THEN
  EXCEPTION Ex_Overflow 'Overflow in ' || TableName;
END


Syntax  3 
========

FOR EXECUTE STATEMENT <string> INTO :var1, ., :varn DO
<compound-statement>;

Description

Executes <string> as SQL operation, returning multiple data rows. Any SELECT
operator may be executed with this form of EXECUTE STATEMENT.

Sample:

CREATE PROCEDURE DynamicSampleThree (TextField VARCHAR( 100 ), TableName VARCHAR( 100 ))
	RETURNING_VALUES (Line VARCHAR( 32000 ))
AS
DECLARE VARIABLE OneLine VARCHAR( 100 );

BEGIN
Line = '';
FOR EXECUTE STATEMENT 'SELECT ' || TextField || ' FROM ' || TableName
	INTO :OneLine
DO
  IF (OneLine IS NOT NULL) THEN
    Line = Line || OneLine || ' ';
SUSPEND;
END


Best regards,
Dnico.
...
Рейтинг: 0 / 0
как в InterBase делается макроподстановка?
    #32347202
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dnico
это для Interbase? сомневаюсь....

srf2000
уже прочитал... не в курсе что это за зверь такой?
...
Рейтинг: 0 / 0
как в InterBase делается макроподстановка?
    #32347234
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 StarWind:

цитата с ibase.ru:
GPRE - универсальный языковый препроцессор для InterBase. Он принимает на вход текст, расширенный операторами обращения к данным (embedded SQL), выдавая на выходе текст на C, C++, Pascal, PL/I, Cobol, Pascal, Ada, Ada, Ada со вставками обращений к IB API.

Вряд ли кто-то это сейчас использует... а Dnico привел описание из FB 1.5
...
Рейтинг: 0 / 0
как в InterBase делается макроподстановка?
    #32347235
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 StarWind:

цитата с ibase.ru:
GPRE - универсальный языковый препроцессор для InterBase. Он принимает на вход текст, расширенный операторами обращения к данным (embedded SQL), выдавая на выходе текст на C, C++, Pascal, PL/I, Cobol, Pascal, Ada, Ada, Ada со вставками обращений к IB API.

Вряд ли кто-то это сейчас использует... а Dnico привел описание из FB 1.5
...
Рейтинг: 0 / 0
как в InterBase делается макроподстановка?
    #32347258
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / как в InterBase делается макроподстановка?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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