Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как задекларировать BASED ON переменную [IB6.x]


ali_tash ©   (2005-07-18 19:31:00) 

У меня не получается задекларировать BASED ON (как %TYPE в ORACLE) переменную в хранимой процедуре
Пож приведите пример как можно это сделать.


Digitman   (2005-07-19 08:35:00) [1]


> где тогда её можно  использовать ?


только в IB EmbeddedSQL

в PSQL/ISQL/DSQL декларативная статья BASED ON неприменима и недопустима

цитата из штатной док-ции по IB6 EmbeddedSQL:

Using BASED ON to declare variables
InterBase supports a declarative clause, BASED ON, for creating C language character
variables based on column definitions in a database. Using BASED ON ensures that the
resulting host-language variable is large enough to hold the maximum number of
characters in a CHAR or VARCHAR database column, plus an extra byte for the
null-terminating character expected by most C string functions.
BASED ON uses the following syntax:
BASED ON < dbcolumn> hostvar;
For example, the following statements declare two host variables, fname, and lname,
based on two column definitions, FIRSTNAME, and LASTNAME, in an employee database:
BASED ON EMP.FIRSTNAME fname;
BASED ON EMP.LASTNAME lname;
Embedded in a C or C++ program, these statements generate the following host- variable
declarations during preprocessing:
char fname[26];
char lname[26];
To use BASED ON, follow these steps:
1. Use SET DATABASE to specify the database from which column definitions are
to be drawn.
2. Use CONNECT to attach to the database.
3. Declare a section with BEGIN DECLARE SECTION.
4. Use the BASED ON statement to declare a string variable of the appropriate
type.
The following statements show the previous BASED ON declarations in context:
EXEC SQL
SET DATABASE EMP = ’employee.gdb’;
EXEC SQL
CONNECT EMP;
EXEC SQL
BEGIN DECLARE SECTION;
int empno;
BASED ON EMP.FIRSTNAME fname;
BASED ON EMP.LASTNAME lname;
EXEC SQL
END DECLARE SECTION;


ali_tash   (2005-07-19 06:16:00) [2]

Но где тогда её можно  использовать ?


Desdechado   (2005-07-18 20:21:00) [3]

AFAIK, в ХП поддерживаются только простые типы данных для переменных


Наверх

Титульная страница Поиск, карта сайта Написать письмо