Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / как в InterBase делается макроподстановка? / 13 сообщений из 13, страница 1 из 1
05.12.2003, 09:13
    #32344318
ich
ich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
То бишь нужно запрос, который содержится в текстовой строке. Можно ли это сделать в IB?
...
Рейтинг: 0 / 0
05.12.2003, 09:48
    #32344358
Pavel_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
она не делается !!!
Нет в природе
...
Рейтинг: 0 / 0
05.12.2003, 09:52
    #32344363
ich
ich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
А как же бать? как то же решается вопрос динамического формирования запросов?
...
Рейтинг: 0 / 0
05.12.2003, 10:00
    #32344372
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
обычно формируется на клиенте и выполняется... в чем проблема-то?
а для любителей есть execute statement.... (FB 1.5)
...
Рейтинг: 0 / 0
08.12.2003, 03:05
    #32345902
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
кстате в IB7 так же есть такая фича (execute statement)
...
Рейтинг: 0 / 0
08.12.2003, 08:59
    #32345966
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
2 StarWind: не подкинешь ссылку про Interbase 7 и execute statement?
чего-то поискал я в инете и ничего не нашел на эту тему...
оно точно есть в нем?
...
Рейтинг: 0 / 0
08.12.2003, 10:35
    #32346069
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
команда называется execute immediate , правда я ее не юзал еще
у меня купленный IB и соответственно доки к нему. Если надо я могу просто выслать доки
...
Рейтинг: 0 / 0
08.12.2003, 11:42
    #32346185
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
2 StarWind: это не то... это для gpre
...
Рейтинг: 0 / 0
08.12.2003, 11:49
    #32346200
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
Код: 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
09.12.2003, 03:12
    #32347202
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
Dnico
это для Interbase? сомневаюсь....

srf2000
уже прочитал... не в курсе что это за зверь такой?
...
Рейтинг: 0 / 0
09.12.2003, 07:17
    #32347234
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
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
09.12.2003, 07:17
    #32347235
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
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
09.12.2003, 08:03
    #32347258
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в InterBase делается макроподстановка?
спасибо
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / как в InterBase делается макроподстановка? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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