Введение в ABL Графеева Н. Г. 2012
ABL: История • ABL – Advanced Business Language(2006) • 1984 – Первая коммерческая версия • Большое количество поддерживаемых платформ • Полная переносимость между платформами
Основные характеристики ABL • • ABL процедурный ABL блочно-структурированный Процедуры ABL состоят из операторов ABL совмещает операторы процедур, пользовательского интерфейса и баз данных • ABL регистронезависим
Пример FOR EACH Customer: DISPLAY Customer. END.
Запуск первой процедуры • Procedure Editor: • FOR EACH Customer: • DISPLAY Cust. Num Name City. • END. • Compile ->Run(F 2) • File -> Save as ……
Пример 1 • SELECT * FROM student ----------------------- • FOR EACH student: DISPLAY student. END. Коноплев Юрий
Пример 2 • SELECT num_st, NAME_st, bdate FROM student order BY NAME_st ---------------------- • FOR EACH student USE-INDEX NAME_st: DISPLAY num_st NAME_st bdate. END.
Пример 3 • SELECT num_st, NAME_st, bdate FROM student order BY NAME_st ---------------------- • FOR EACH student BY NAME_st DESCENDING: DISPLAY num_st NAME_st bdate. END.
Пример 4 • SELECT num_st, NAME_st, bdate FROM student • WHERE bdate > DATE(1, 1, 1991) • --------------- • FOR EACH student WHERE bdate > DATE(1, 1, 1991): • DISPLAY num_st NAME_st bdate. • END.
• SELECT num_st, NAME_st, bdate, address FROM student • WHERE address LIKE "%70%" OR address LIKE "%2%" • --------------- • FOR EACH student WHERE address CONTAINS '70 | 2': • DISPLAY num_st NAME_st bdate address FORMAT 'x(30)'. • END.
Пример • ------------ • FOR EACH student WHERE NAME_st MATCHES 'P*': • DISPLAY num_st NAME_st bdate address FORMAT 'x(30)'. • END. • Мордвинов Дмитрий
• SELECT NAME_ST, NUM_ST FROM STUDENT • WHERE NUM_ST=5 ---------------------- • FIND STUDENT WHERE NUM_ST = 5. • DISPLAY NAME_ST NUM_ST.
• SELECT NAME_ST, NUM_ST FROM STUDENT s 1 • WHERE NOT EXISTS • ( • SELECT NAME_st FROM STUDENT s 2 WHERE s 2. NAME_st < s 1. NAME_st • ) • ------------- • FIND FIRST student USE-INDEX name_st. • DISPLAY NAME_st. • Мордвинов Дмитрий
• • SELECT COUNT(*)FROM STUDENT ------------------DEFINE VARIABLE K AS INTEGER. FOR EACH STUDENT : K = K + 1. END. DISPLAY K.